why use COM?
I would opt for a plain C# plugin mechanism.
Then either tsvn provides the issueTracking-GUI(a datagrid and whatever else is basically needed) and gathers the issue relevant information from the plugin:
interface IIssueTrackingAdapter
{
string Name { get; } // name of provider
IList<IIssue> GetPendingIssues(string project);
IList<IIssue> GetPendingIssuesFor(string project, string userName);
void CloseIssues(string[] issueIds, string userId);
...
}
or the plugin provides an issue-UserControl which is displayed in a given panel in the tsvn-commit dialog:
interface IIssueTrackingPlugin
{
string Name { get; } // name of plugin
UserControl IssueTrackingControl(); // GUI for issue selection
string[] SelectedIssues { get; };
void UpdateIssueTrackingSystem();
...
}
Regards
Clemens
Received on 2008-01-04 06:26:15 CET