TortoiseSVN 1.5 a novší môže používať rozšírenia, ktoré implementujú rozhranie IBugtraqProvider. Rozhranie poskytuje niekoľko metód, pomocou ktorých môžu rozšírenia pracovať s nástrojom na sledovanie problémov.
HRESULT ValidateParameters ( // Nadradené okno pre akékoľvek užívateľské rozhranie, // ktorý je potrebné zobraziť v priebehu overovania. [in] HWND hParentWnd, // Reťazec parametru, ktorý je potrebné overiť. [in] BSTR parameters, // Je tento reťazec platný? [out, retval] VARIANT_BOOL *valid );
Táto metóda sa volá z dialógového okna nastavení, kde môže používateľ pridať a nakonfigurovať rozšírenie. Reťazec parameters
môže byť použitý rozšírením na získanie ďalších požadovaných informácií, napríklad adresy URL sledovača problémov, prihlasovacích informácií atď. Doplnok by mal overiť reťazec parameters
a zobraziť dialógové okno chyby, ak reťazec nie je platný. Parameter hParentWnd
by sa mal použiť pre akýkoľvek dialóg, ktorý rozšírenie zobrazuje ako nadradené okno. Rozšírenia musí vrátiť hodnotu TRUE, ak je overenie reťazca parameters
úspešné. Ak rozšírenie vráti hodnotu FALSE, dialógové okno nastavení neumožní užívateľovi pridať rozšírenie na cestu pracovnej kópie.
HRESULT GetLinkText ( // Nadradené okno pre akékoľvek (chybové) užívateľské rozhrania, // ktoré je potrebné zobraziť. [in] HWND hParentWnd, // Reťazec parametra len pre prípad, že musíte hovoriť // webovou službou (napr.) na vyhľadanie správneho textu. [in] BSTR parameters, // Ktorý text chcete zobraziť? // Použiť aktuálne lokálne vlákno. [out, retval] BSTR *linkText );
Rozšírenie tu môže poskytnúť reťazec, ktorý sa použije v dialógovom okne odovzdania TortoiseSVN pre tlačidlo, ktoré vyvolá rozšírenie, napr. „Vybrať problém“ alebo „Vybrať lístok“. Uistite sa, že reťazec nie je príliš dlhý, inak by sa nemusel vojsť na tlačidlo. Ak metóda vráti chybu (napr.E_NOTIMPL
), pre tlačidlo sa použije predvolený text.
HRESULT GetCommitMessage ( // Nadradené okno pre užívateľské rozhranie poskytovateľa. [in] HWND hParentWnd, // Parametere pre vášho poskytovateľa. [in] BSTR parameters, [in] BSTR commonRoot, [in] SAFEARRAY(BSTR) pathList, // Text nachádzajúci sa už v správe odovzdania. // Podľa potreby by mal váš poskytovateľ zahrnúť túto správu, // do novej správy. [in] BSTR originalMessage, // Nový text správy odovzdania. // Ten nahradí pôvodnú správu. [out, retval] BSTR *newMessage );
Toto je hlavná metóda rozšírenia. Táto metóda sa volá z dialógového okna odovzdania TortoiseSVN, keď užívateľ klikne na tlačidlo rozšírenia.
Reťazec parameters
je reťazec, ktorý musí užívateľ zadať v dialógovom okne nastavení pri konfigurácii rozšírenia. Rozšírenie to zvyčajne použije na vyhľadanie adresy URL sledovača problémov a/alebo prihlasovacích údajov alebo ďalších.
Reťazec commonRoot
obsahuje nadradenú cestu všetkých položiek, vybraných na vyvolanie dialógového okna odovzdania. Všimnite si, že je to nie je koreňová cesta ku všetkým položkám, ktoré si užívateľ vybral v dialógovom okne odovzdania. V dialógovom okne vetva/príznak je to cesta, ktorá sa má skopírovať.
Parameter pathList
obsahuje pole ciest (ako reťazce), ktoré si užívateľ vybral pre odovzdania.
Parameter originalMessage
obsahuje text zadaný do okna správy v dialógovom okne odovzdania. Ak používateľ zatiaľ nezadal žiadny text, bude tento reťazec prázdny.
Návratový reťazec newMessage
sa skopíruje do editačného poľa správy záznamu v dialógovom okne odovzdania a nahradí všetko, čo už existuje. Ak rozšírenie nezmení reťazec originalMessage
, musí tu znova vrátiť rovnaký reťazec, inak sa stratí akýkoľvek text, ktorý užívateľ zadá.