Rozhraní IBugtraqProvider2

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.