V TortoiseSVN 1.6 bylo přidáno nové rozhraní, které nabízí více funkcí pro zásuvné moduly. Toto rozhraní IBugtraqProvider2 je odvozeno z IBugtraqProvider.
HRESULT GetCommitMessage2 ( // Nadřazené okno pro uživatelské rozhráni Vašeho poskytovatele. [in] HWND hParentWnd, // Parametry pro Vašeho poskytovatele. [in] BSTR parameters, // Společná URL odevzdání [in] BSTR commonURL, [in] BSTR commonRoot, [in] SAFEARRAY(BSTR) pathList, // Text, který je už přítomen ve zprávě odevzdání. // Váš poskytovatel by měl zahrnout tento text v nové zprávě, // kde je to vhodné. [in] BSTR originalMessage, // Můžete přiřadit vlastní vlastnosti revizi k odevzdání // nastavením následujících dvou parametrů. // Poznámka: Oba safearrays musí být stejné délky. // Pro každé jméno vlastnosti musí být i její hodnota // Obsah pole bugID (když je zobrazeno) [in] BSTR bugID, // Změněný obsah pole bugID [out] BSTR * bugIDOut, // Seznam jmen vlastností revize. [out] SAFEARRAY(BSTR) * revPropNames, // Seznam hodnot vlastností revize. [out] SAFEARRAY(BSTR) * revPropValues, // Nový text pro zprávu odevzdání. // Toto nahradí původní text [out, retval] BSTR * newMessage );
Tato metoda je volána z dialogového okna odevzdání TortoiseSVN, když uživatel klikne na tlačítko zásuvný modul. Je volána místo GetCommitMessage()
. Prohlídněte si, prosím dokumentaci GetCommitMessage
pro parametry, které jsou také zde použity.
Parametr commonURL
je nadřazenou URL všech vybraných položek, pro zobrazení dialogového okna odevzdání. Toto je v podstatě URL cestycommonRoot
.
Parametr bugID
zahrnuje obsah pole bug-ID (pokud je zobrazeno, nastaveno vlastností bugtraq:zpráva
).
Návratový parametr bugIDOut
se používá k vyplnění pole bug-ID, když se metoda vrátí.
Návratové parametry revPropNames
a revPropValues
mohou obsahovat páry název/hodnota pro vlastnosti revize, které by mělo odevzdání nastavit. Modul se musí ujistit, že obě pole mají stejnou velikost při návratu! Každé jméno vlastnosti revPropNames
musí mít také odpovídající hodnotu v revPropValues
. Nejsou-li vlastnosti revize stanoveny, modul musí vrátit prázdné pole.
HRESULT CheckCommit ( [in] HWND hParentWnd, [in] BSTR parameters, [in] BSTR commonURL, [in] BSTR commonRoot, [in] SAFEARRAY(BSTR) pathList, [in] BSTR commitMessage, [out, retval] BSTR * errorMessage );
Tato metoda je volána těsně před uzavřením dialogového okna odevzdání a odevzdání začne. Modul může použít tuto metodu pro ověření vybraných souborů/adresářů pro odevzdání a/nebo zprávy odevzdání zadané uživatelem. Parametry jsou stejné jako pro GetCommitMessage2()
, s tím rozdílem, že commonURL
je nyní společná URL všech zaškrtnutých položek a commonRoot
je kořenová cesta všech zaškrtnutých položek.
Pro dialogové okno větev/značka, je commonURL
zdrojová URL kopírování a commonRoot
je nastaven na cílovou adresu URL kopie.
Návratový parametr errorMessage
musí buď obsahovat chybové hlášení, které TortoiseSVN ukáže uživateli nebo být prázdný pro spuštění odevzdání. Pokud je vrácena chybová zpráva, TortoiseSVN zobrazí řetězec chyby v dialogovém okně a udržuje dialogové okno otevřené, takže uživatel může opravit, co je špatně. Modul by proto měl vrátit chybový řetězec, který informuje uživatele co je špatně a jak to opravit.
HRESULT OnCommitFinished ( // Nadřazené okno pro jakékoli (chybové) uživatelské rozhraní, // které je třeba zobrazit. [in] HWND hParentWnd, // Společný kořen všech cest, které byly odezvdány. [in] BSTR commonRoot, // Všechny cesty, které byly odevzdány. [in] SAFEARRAY(BSTR) pathList, // Už zadaný text ve zprávě záznamu. [in] BSTR logMessage, // Revize odevzdání. [in] ULONG revision, // Chyba, která se má ukázat uživateli, pokud tato funkce // vrátí něco jiného než S_OK [out, retval] BSTR * error );
Tato metoda je volána po úspěšném odevzdání. Modul může použít tuto metodu, např. v blízkosti vybraného problému, nebo pro přidání informací o odevzdání k problému. Parametry jsou stejné jako pro GetCommitMessage2
.
HRESULT HasOptions( // Zda poskytovatel nabízí možnosti [out, retval] VARIANT_BOOL *ret );
Tato metoda je volána z dialogového okna nastavení, kde si uživatel může nastavit zásuvné moduly. Pokud modul poskytuje vlastní konfigurační dialog s ShowOptionsDialog
, musí zde vrátit TRUE, jinak musí vrátit hodnotu FALSE.
HRESULT ShowOptionsDialog( // Nadřazené okno dialogového okna možností [in] HWND hParentWnd, // Parametry pro Vašeho poskytovatele. [in] BSTR parameters, // Řetězec parametrů [out, retval] BSTR * newparameters );
Tato metoda je volána z dialogového okna nastavení, když uživatel klikne na tlačítko "Možnosti", které je zobrazeno, pokud HasOptions
vrátí TRUE. Modul může ukázat dialogové okno možnosti s cílem usnadnit uživatelům modul nastavit.
Řetězec parameters
obsahuje řetězec parametrů modulu, který je již nastaven/zadán.
Návratový parametr newparameters
musí obsahovat řetězec parametrů, který modul sestavil z informací, které shromáždil v jeho dialogovém okně možnosti. Tento řetězec parameters
řetězec je předán všem ostatním metodám IBugtraqProvider a IBugtraqProvider2.