IBugtraqProvider2-rajapinta

TortoiseSVN 1.6 osaa käyttää laajennuksia, jotka toteuttavat IBugtraqProvider2-rajapinnan. Tämä rajapinta lon alkuperäisen IBugtraqProvider-rajapinnan laajennus.

HRESULT GetCommitMessage2 (
  // Isäikkunan kahva käyttöliittymää varten.
  [in] HWND hParentWnd,

  // Parametrit vikaseurantaohjelmalle.
  [in] BSTR parameters,
  [in] BSTR commonURL,
  [in] BSTR commonRoot,
  [in] SAFEARRAY(BSTR) pathList,

  // Toimitusviestin nykyinen sisältö.
  // Laajennoksen tulisi sisällyttää tämä teksti uuteen toimitusviestiin, jos mahdollista.
  [in] BSTR originalMessage,

  // Voit määritellä omia versio-ominaisuuksia arkistoon toimitettavaksi seuraavien kahden parametrin avulla.
  // Huomaa: molempien taulukoiden on oltava yhtä pitkiä. Kullekin ominaisuusnimelle on löydyttävä vastaava arvo!
  // bugID-kentän sisältö (mikäli näytetty)
  [in] BSTR bugID,

  // bugID-kentän muutettu sisältö
  [out] BSTR * bugIDOut,

  // Lista arkistoon toimitettavia versio-ominaisuuksien nimiä
  [out] SAFEARRAY(BSTR) * revPropNames,

  // Lista arklstoon toimitettavia versio-ominaisuuksien arvoja
  [out] SAFEARRAY(BSTR) * revPropValues,

  // Uusi toimitusviesti, joka korvaa alkuperäisen.
  [out, retval] BSTR * newMessage
);

Tätä menetelmää kutsutaan TortoiseSVN-toimitusikkunasta käyttäjän napsauttaessa kytköksen painiketta. Menetelmää kutsutaan menetelmän GetCommitMessage() sijaan. Katso menetelmän GetCommitMessage ohjeista kuvaus parametreista, joita käytetään myös siellä.

Parametri commonURL on kaikkien toimitusikkunaan valittujen kohteiden kantapaikannin. Tämä on suurin piirtein sama kuin commonRoot -polun paikannin.

Parametri bugID sisältää bug-ID -kentän arvon (mikäli se on säädetty näytettäväksi ominaisuudella bugtraq:message).

Paluuparametrin bugIDOut arvo asetetaan vikatunnuskenttään metodista palattaessa.

Paluuparametrit revPropNames ja revPropValues voivat sisältää nimi/arvo -pareja niille versio-ominaisuuksille, jotka toimituksen tulisi asettaa. Kytköksen on varmistettava, että molemmissa taulukoissa on saman verran alkioita palattaessa! Kullakin taulukon revPropNames ominaisuusnimellä on oltava vastaava arvo taulukossa revPropValues. Mikäli versio-ominaisuuksia ei tarvita, kytköksen on palautettava tyhjät taulukot.

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ätä toimintoa kutsutaan juuri ennen kuin toimitusikkuna sulkeutuu ja toimitus alkaa. Lisäosa voi käyttää toimintoa validoidakseen toimitettaviksi valitut tiedostot/kansiot ja toimitusviestin. Parametrit ovat samat kuin toiminnolla GetCommitMessage2() sillä erotuksella, että commonURL sisältää nyt kaikkien toimitettavaksi valittujen kohteiden yhteisen paikantimen, ja commonRoot on valittujen kohteiden juuripolku.

Haaran tai merkityn version luonti-ikkunassa commonURL viittaa kopion lähdepaikantimeen ja commonRoot puolestaan kopion kohdepaikantimeen.

Paluuparametrin errorMessage on oltava tyhjä, jotta arkistotoimitus voi alkaa. Muussa tapauksessa TortoiseSVN näyttää virheilmoituksen käyttäjälle ja pitää toimitusikkunan avoimena, jotta käyttäjä voi korjata mahdolliset virheet. Lisäosan tulisi siten palauttaa virheilmoitus, joka kertoo, mikä on väärin, ja miten tilanne korjataan.

HRESULT	OnCommitFinished (
  // Isäikkunan kahva käyttöliittymäosille.
  [in] HWND hParentWnd,

  // Toimitettujen polkujen yhteinen juuripolku.
  [in] BSTR commonRoot,

  // Kaikki toimitetut polut.
  [in] SAFEARRAY(BSTR) pathList,


  // Lokiviestin nykyinen sisältö.
  [in] BSTR logMessage,

  // Toimitettu versio.
  [in] ULONG revision,


  // Käyttäjälle näytettävä virheilmoitus, kun funktio palauttaa jotain muuta kuin S_OK
  [out, retval] BSTR * error
);

Tätä toimintoa kutsutaan onnistuneen arkistotoimituksen jälkeen. Laajonnos voi käyttää toimintoa esim. valitun vian sulkemiseen tai lisätäkseen vikaan tietoa arkistotoimituksesta. Parametrit ovat samoja kuin toiminnolla GetCommitMessage2.

HRESULT HasOptions(
  // Onko lisäosa säädettävissä
  [out, retval] VARIANT_BOOL *ret
);

Tätä toimintoa kutsutaan asetusikkunasta, missä käyttäjä voi määritellä lisäosat. Jos lisäosa toteuttaa oman määrittelyikkunan funktion ShowOptionsDialog avulla, sen on palautettava tässä TRUE (muutoin FALSE).

HRESULT ShowOptionsDialog(
  // Isäikkunan kahva käyttöliittymää varten.
  [in] HWND hParentWnd,

  // Parametrit.
  [in] BSTR parameters,

  // Paluuparametrit.
  [out, retval] BSTR * newparameters
);

Tätä toimintoa kutsutaan asetusikkunasta, kun käyttäjä napsauttaa painiketta "Asetukset", joka puolestaan näytetään, jos funktio HasOptions palauttaa TRUE. Lisäosa voi käyttää omaa asetusikkunaa tehdäkseen määrittelystä käyttäjälle helpompaa.

Merkkijono parameters sisältää käyttäjän jo antamat parametrit.

Paluuparametrin newparameters täytyy sisältää merkkijono, jonka lisäosa rakensi asetusikkunansa tietojen perusteella. Tämä parameters -merkkijono välitetään jatkossa kaikille muille IBugtraqProvider- ja IBugtraqProvider2-toiminnoille.