OSDN Git Service

Enable Bug track plug-in support
[tortoisegit/TortoiseGitJp.git] / src / IBugTraqProvider / IBugTraqProvider.idl
index 6579283..bdb6a3f 100644 (file)
@@ -73,14 +73,35 @@ interface IBugTraqProvider2 : IBugTraqProvider
        HRESULT GetCommitMessage2 (\r
                [in] HWND hParentWnd,                                   // Parent window for your provider's UI.\r
                [in] BSTR parameters,                                   // Parameters for your provider.\r
-               [in] BSTR commonURL,                                    // the common url of the commit\r
+               [in] BSTR commonURL,                                    // the common url of all items in the commit dialog (checked or unchecked!), \r
+                                                                                               // with the url of the item that was selected to bring up the commit dialog having precedence.\r
                [in] BSTR commonRoot,\r
                [in] SAFEARRAY(BSTR) pathList,\r
                [in] BSTR originalMessage,                              // The text already present in the commit message.\r
                                                                                                // Your provider should include this text in the new message, where appropriate.\r
-               [out, retval] BSTR *newMessage                  // The new text for the commit message. This replaces the original message.\r
+               // you can assign custom revision properties to a commit by setting the next two params.\r
+               // note: both safearrays must be of the same length. For every property name there must be a property value!\r
+               [in] BSTR bugID,                                                // the content of the bugID field (if shown)\r
+               [out] BSTR * bugIDOut,                                  // modified content of the bugID field\r
+               [out] SAFEARRAY(BSTR) * revPropNames,   // a list of revision property names which are applied to the commit\r
+               [out] SAFEARRAY(BSTR) * revPropValues,  // a list of revision property values which are applied to the commit\r
+               [out, retval] BSTR * newMessage                 // The new text for the commit message. This replaces the original message.\r
        );                      \r
 \r
+       /** Called right before the commit dialog is dismissed. This is the last chance to reject\r
+        * a commit. You can check the commit log message here and return an error message if it does not\r
+        * match your specification. An empty error string means the commit is allowed.\r
+        */\r
+       HRESULT CheckCommit (\r
+               [in] HWND hParentWnd,\r
+               [in] BSTR parameters,\r
+               [in] BSTR commonURL,\r
+               [in] BSTR commonRoot,\r
+               [in] SAFEARRAY(BSTR) pathList,\r
+               [in] BSTR commitMessage,\r
+               [out, retval] BSTR * errorMessage\r
+               );\r
+\r
        HRESULT OnCommitFinished (\r
                [in] HWND hParentWnd,                                   // Parent window for any (error) UI that needs to be displayed.\r
                [in] BSTR commonRoot,                                   // The common root of all paths that got committed.\r