IBagtragačSnabdevač2 interfejs

U TortoiseSVN 1.6 novi interfejs je dodat da omogući veću funkcionalnost jezička. Ovaj IBagtragačSnabdevač2 interfejs proizilazi iz IBagtragačSnabdevač.

	HRESULT GetCommitMessage2 (
  // Predački prozor za vaš UI snabdevač.
  [in] HWND hParentWnd,

  // Parametri za vašeg snabdevača.
  [in] BSTR parameters,
  // Zajednički URL urezivanjat
  [in] BSTR commonURL,
  [in] BSTR commonRoot,
  [in] SAFEARRAY(BSTR) pathList,

 // Tekst koji već postoji u poruci urezivanja.
 // Vaš snabdevač bi trebao da uključi ovaj tekst u novu poruku, 
 // gde to odgovara.
  [in] BSTR originalMessage,

 // Možete označiti obične osobine revizije za urezivanje 
 // podešavanjem sledeća dva parametra.
 // primedba: Obe sigurnosne oblasti moraju biti iste dužine.
 //           Za svako ime osobine mora biti vrednost osobine!

   // sadržaj bagID polja (ako je prikazano)
  [in] BSTR bugID,

   // izmenjeni sadržaj bagID polja
  [out] BSTR * bugIDOut,

 // Lista imena osobina revizije
  [out] SAFEARRAY(BSTR) * revPropNames,

 // Lista imena vrednosti revizije
  [out] SAFEARRAY(BSTR) * revPropValues,

   //Novi tekst za poruku urezivanja.
   // Ovo zamenjuje originalnu poruku.
  [out, retval] BSTR * newMessage
);

Ovaj metod je pozvan iz TortoiseSVN dijalogaurezivanja kada korisnik klikne na dugme jezička. Metod se poziva umesto GetCommitMessage(). Molim uporedite sa dokumentacijom za GetCommitMessage zaparametre koji su ovde korišćeni.

Parametar zajedničkiURL je predački URL svih stavki izabranih da dovedu dijalog urezivanja. Ovo je osnovni URL zajedničkiKoren putanja.

Parametar bugID sadrži sadržaj bug-ID polja (ako je prikazano, konfigurisano sa osobinom bugtrak:poruka).

Povratni parametar bugIDOut iskorišćen je da popuni bug-ID polje kada metod vrati vrednost.

Povratni parametri revPropImena i revPropVrednosti mogu sadržati ime/vrednost parove za revizione osobine koje će urezivanje podesiti. Jezičak mora biti siguran da obe površine imaju istuveličinu!Svako ime osobine revPropImena moraju takođe imati odgovarajuće vrednosti u revPropVrednosti. Ako nema revizionih osobina da supodešena jezičak mora da vrati praznu oblast.

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
);

Ovaj metod je pozvan baš pre nego se dijalog urezivanja zatvori i urezivanje počne. Jezičak može koristiti ovaj metod da se vrednuju izabrani fajlovi/imeniciza urezivanje i/ili poruke urezivanje koje je uneo korisnik. Parametri su isti kao za GetCommitMessage2(), sa razlikom da je zajedničkiURL sada zajednički URL svih izabranih stavki, i zajedničkiKoren je korena putanjasvih izabranih stavki.

Za grana/oznaka dijalog zajedničkiURL je izvorni url kopije, i zajedničkiKoren je podešen za ciljni url kopije.

Povratni parametar greškaPoruka mora da sadrži ili poruku greške koju TortoiseSVN prikazuje korisnicima ili da bude prazan pri startu urezivanja. Ako se vrati poruka o grešciTortoiseSVN prikazuje string greške u dijalogu i čuva dijalogurezivanja otvorenim tako da korisnik može napraviti ispravke kada je nešto pogrešno. Jezičak trba da vrati string greške koji obaveštava korisnika šta je loše ikako da se to ispravi.

HRESULT	OnCommitFinished (
   // Predački prozor za svaki (pogrešan) UI koji
   // treba da bude prikazan.
  [in] HWND hParentWnd,

  // Zajednički koren svih putanja za urezivanje.
  [in] BSTR commonRoot, 

 // Sve putanje koje su urezane.
  [in] SAFEARRAY(BSTR) pathList,


   // Tekst već prisutan pri urezivanju  poruka.
  [in] BSTR logMessage, 

   // Revizija urezivanja.
  [in] ULONG revision,


  // Greška za prikazivanje korisniku ako 
  // funkcija vrati nešto osim  S_OK
  [out, retval] BSTR * error 
);

Ovaj metod se poziva posle uspešnog urezivanja. Jezičak može koristiti ovaj metod da npr. zatvori izabranu stavku i doda informaciju o urezivanju uz stavku. Parametri su isti kao za GetCommitMessage2.

HRESULT HasOptions(
  // Da li snabdevač omogućava opcije
  [out, retval] VARIANT_BOOL *ret
);

Ovaj metod se poziva iz dijaloga podešavanja gde korisnik može da konfiguriše jezičke. Ako sam jezičak obezbeđuje sopstveni dijalog konfigurisanja sa ShowOptionsDialog, on mora ovde da vrati ISTINA, u drugom slučaju mora da vrati LAŽ.

HRESULT ShowOptionsDialog(
  // Predački prozor za dijalog opcija
  [in] HWND hParentWnd, 

  // Parametri za vašeg snabdevača.
  [in] BSTR parameters,

 // String parametara
  [out, retval] BSTR * newparameters 
);

Ovaj metod se poziva iz dijaloga podešavanjakada korisnik klikne na dugme "Opcije" što je prikazano ako ImaOpcija vrati ISTINA. Jezičak može prikazati dijalog opcija da korisniku olakša konfigurisanje jezička.

String parametri sadrži string parametara jezička koji su podešeni/uneti.

Povratni parametar newparameters mora da sadrži string parametara koje jezičak konstruiše iz informacija sakupljenih u dijalogu opcija. String parametara se šalje svim drugim IBagtragačSnabdevačima i IBagtragačSnabdevač2 metodima.