Rozhraní IBugtraqProvider

TortoiseSVN 1.5 a novější může používat zásuvné moduly, které implementují rozhraní IBugtraqProvider. Rozhraní poskytuje několik metod, jak lze zásuvné moduly použít ke komunikaci se systémy pro sledování problémů.

HRESULT ValidateParameters (
  // Nadřazené okno pro jakékoliv uživatelské rozhraní, které
  // je třeba zobrazit během ověřování.
  [in] HWND hParentWnd,

  // Řetězec parametru, který je třeba ověřit.
  [in] BSTR parameters,

  // Je tento řetězec platný?
  [out, retval] VARIANT_BOOL *valid
);

Tato metoda je volána z dialogového okna nastavení, kde si uživatel může přidat a nastavit zásuvný modul. Řetězec Parameters může být použit zásuvným modulem pro získání dalších potřebných informací, např. URL adresu systému pro sledování problémů, přihlašovací údaje, atd. zásuvný modul by měl ověřit řetězec Parameters a zobrazit chybové dialogové okno, pokud řetězec není platný. Parametr hParentWnd by měl použit pro jakékoli dialogové okno, které zásuvný modul zobrazí jako nadřazené okno. Zásuvný modul musí vrátit TRUE, pokud ověření řetězce Parameters je úspěšné. Pokud zásuvný modul vrátí FALSE, dialogové okno nastavení neumožní uživateli přidat zásuvný modul do cesty pracovní kopie.

HRESULT GetLinkText (
  // Nadřazené okno pro jakékoli (chybové) uživatelské rozhraní,
  // které je třeba zobrazit.
  [in] HWND hParentWnd,

  // Řetězec parametru, jen pro případ, že musíte mluvit se
  // svou internetovou službou (např.) zjistit, jaký je správný text.
  [in] BSTR parameters,

  // Který text chcete zobrazit?
  // Použít aktuální jazykové vlákno.
  [out, retval] BSTR *linkText
);

Zásuvný modul může zde poskytnout řetězec, který je použit v dialogovém okně odevzdání TortoiseSVN pro tlačítko, které vyvolá zásuvný modul, např. "Vybrat problém" nebo "Vybrat lístek". Ujistěte se, že řetězec není příliš dlouhý, jinak by se nemusel do tlačítka vejít. Pokud metoda vrátí chybu (např. E_NOTIMPL), je použit pro tlačítko výchozí text.

HRESULT GetCommitMessage (
  // Nadřazené okno pro uživatelské rozhraní poskytovatele.
  [in] HWND hParentWnd,

  // Parametry pro Vašeho poskytovatele.
  [in] BSTR parameters,
  [in] BSTR commonRoot,
  [in] SAFEARRAY(BSTR) pathList,

  // Předtím zadaný text ve zprávě odevzdání.
  // Váš poskytovatel by měl zahrnout tuto zprávu ve zprávě nové,
  // tam, kde je to vhodné.
  [in] BSTR originalMessage,

  // Nový text pro zprávu odevzdání.
  // Ta nahradí zprávu původní.
  [out, retval] BSTR *newMessage
);

Toto je hlavní metoda zásuvného modulu. Tato metoda je volána z dialogového okna odevzdání TortoiseSVN, když uživatel klikne na tlačítko zásuvný modul.

Řetězec Parameters je řetězec, který musí uživatel zadat v dialogovém okně nastavení, když modul nastavuje. Obvykle by toto modul použil k nalezení adresy URL systému pro sledování problémů a/nebo přihlašovací údaje či více.

Řetězec commonRoot obsahuje nadřazenou cestu všech vybraných položek, pro zobrazení dialogového okna odevzdání. Všimněte si, že toto není kořenová cesta všech položek, které uživatel vybral v dialogovém okně odevzdání. Pro dialogové okno větev/značka, to je cesta, která má být zkopírována.

Parametr pathList obsahuje řadu cest (jako řetězce), které uživatel zvolil pro odevzdání.

Parametr originalMessage obsahuje text zadaný v rámečku zprávy v dialogovém okně odevzdání. Pokud uživatel ještě text nezadal, bude tento řetězec prázdný.

Návratový řetězec newMessage je zkopírován do rámečku úprav zprávy v dialogovém okně odevzdání, který nahradí vše, co tam již je. Pokud modul nezmění řetězec originalMessage, musí opět vrátit sem stejný řetězec, jinak jakýkoli text, který uživatel zadá, bude ztracen.