V TortoiseSVN 1.6 bolo pridané nové rozhranie, ktoré pridáva viac funkcií pre rozšírenia. Toto rozhranie IBugtraqProvider2 je zdedené z IBugtraqProvider.
HRESULT GetCommitMessage2 ( // Nadradené okno pre užívateľské rozhranie vášho poskytovateľa. [in] HWND hParentWnd, // Parametre vášho poskytovateľa. [in] BSTR parameters, // Spoločná adresa URL odovzdania [in] BSTR commonURL, [in] BSTR commonRoot, [in] SAFEARRAY(BSTR) pathList, // Text, ktorý je už prítomný v správe odovzdania. // Podľa potreby by mal váš poskytovateľ zahrnúť tento text, // do novej správy. [in] BSTR originalMessage, // Môžete priradiť svoje vlastnosti revízii k odovzdaniu // nastavením následných dvoch parametrov. // Poznámka: Obe safearrays musia mať rovnakú dĺžku. // Pre každý názov vlastnosti musí byť aj jej hodnota! // Obsah poľa bugID (ak je zobrazený) [in] BSTR bugID, // Zmenený obsah poľa bugID [out] BSTR * bugIDOut, // Zoznam názvov vlastností revízie. [out] SAFEARRAY(BSTR) * revPropNames, // Zoznam hodnôt vlastností revízie. [out] SAFEARRAY(BSTR) * revPropValues, // Nový text pre správu odovzdania. // Ten nahradí pôvodný text [out, retval] BSTR * newMessage );
Táto metóda sa volá z dialógového okna odovzdania TortoiseSVN, keď používateľ klikne na tlačidlo rozšírenia. Táto metóda sa volá namiesto GetCommitMessage()
. Prečítajte si dokumentáciu ku GetCommitMessage
pre parametre, ktoré sa tam tiež používajú.
Parameter commonURL
je nadradená adresa URL všetkých položiek vybraných na vyvolanie dialógového okna odovzdania. Toto je v podstate adresa URL cesty commonRoot
.
Parameter bugID
obsahuje obsah poľa ID chyby (ak je zobrazené, nakonfigurované s vlastnosťou bugtraq:message
).
Návratový parameter bugIDOut
sa používa na vyplnenie poľa ID chyby, keď sa metóda vráti.
Návratové parametre revPropNames
a revPropValues
môžu obsahovať páry názov/hodnota pre vlastnosti revízie, ktoré by mal odovzdania nastaviť. Rozšírenie sa musí uistiť, že obe polia majú pri návrate rovnakú veľkosť! Každý názov vlastnosti revPropNames
musí mať zodpovedajúcu hodnotu aj v revPropValues
. Ak sa nemajú nastavovať žiadne vlastnosti revízie, musí rozšírenie vrátiť prázdne polia.
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 );
Táto metóda sa volá tesne predtým, ako sa zavrie dialógové okno odovzdania a začne sa odovzdania. Rozšírenie môže pomocou tejto metódy overiť vybrané súbory/priečinky pre odovzdanie a/alebo správu odovzdania zadanú užívateľom. Parametre sú rovnaké ako pre GetCommitMessage2()
, s tým rozdielom, že commonURL
je teraz spoločnou adresou URL všetkých zaškrtnutých položiek a commonRoot
je koreňová cesta všetkých zaškrtnutých položiek.
V dialógovom okne vetva/príznak je commonURL
je zdrojová adresa URL kópie a commonRoot
je nastavená na cieľovú adresu URL kópie.
Návratový parameter errorMessage
musí obsahovať chybové hlásenie, ktoré TortoiseSVN zobrazuje užívateľovi, alebo musí byť prázdne, aby mohlo dôjsť k odovzdaniu. Ak sa vráti chybové hlásenie, TortoiseSVN zobrazí chybový reťazec v dialógovom okne a ponechá dialógové okno odovzdania otvorené, aby mohol užívateľ opraviť všetko, čo je zlé. Doplnok by mal preto vrátiť chybový reťazec, ktorý informuje užívateľa čo je nesprávne a ako to napraviť.
HRESULT OnCommitFinished ( // Nadradené okno pre akékoľvek (chybové) užívateľské rozhranie, // ktoré je potrebné zobraziť. [in] HWND hParentWnd, // Spoločný koreň všetkých ciest, ktoré boli odovzdané. [in] BSTR commonRoot, // Všetky cesty, ktoré boli odovzdané. [in] SAFEARRAY(BSTR) pathList, // Text, ktorý je už v správe záznamu zadaný. [in] BSTR logMessage, // Revízia odovzdania. [in] ULONG revision, // Chyba, ktorá sa má zobraziť užívateľovi, pokiaľ táto funkcia // vráti niečo iné ako S_OK [out, retval] BSTR * error );
Táto metóda je zavolaná po úspešnom odovzdaní. Rozšírenie môže pomocou tejto metódy napríklad uzavrieť vybraný problém alebo pridať informácie o odovzdaní problému. Parametre sú rovnaké ako pre GetCommitMessage2
.
HRESULT HasOptions( // Či poskytovateľ ponúka možnosti [out, retval] VARIANT_BOOL *ret );
Táto metóda je zavolaná z dialógového okna Nastavenia, kde môže užívateľ konfigurovať rozšírenia. Ak rozšírenie poskytuje svoje vlastné konfiguračné dialógové okno s ShowOptionsDialog
, musí tu vrátiť hodnotu TRUE, inak musí vrátiť hodnotu FALSE.
HRESULT ShowOptionsDialog( // Nadradené okno dialógu možností [in] HWND hParentWnd, // Parametre vášho pokytovateľa. [in] BSTR parameters, // Reťazec parametrov [out, retval] BSTR * newparameters );
Táto metóda sa volá z dialógového okna nastavení, keď používateľ klikne na tlačidlo „Možnosti“, ktoré sa zobrazí, ak HasOptions
vráti TRUE. Rozšírenie môže zobraziť dialógové okno s možnosťami, ktoré uľahčí užívateľovi konfiguráciu rozšírenia.
Reťazec parameters
obsahuje reťazec parametrov rozšírenia, ktorý je už nastavený/zadaný.
Návratový parameter newparameters
musí obsahovať reťazec parametrov, ktorý rozšírenie zostavilo z informácií získaných v dialógovom okne možností. Tento reťazec parameter
je odovzdaný všetkým ostatným metódam IBugtraqProvider a IBugtraqProvider2.