Manuals

Rozhranie IBugtraqProvider2

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.

TortoiseSVN homepage