Arthur Barrett wrote:
> Wheras if you wanted to call audit.dll the sequence would be something
> like this:
> // This creates the SessionLog entry
> initaudit(NULL, "commit", "2000-11-01 10:42:15", "localhost",
> "fred", "/cvsrepo", "d:\cvsrepo", "000001234", NULL, 0, NULL, NULL,
> '2.5.04', NULL);
Nice idea but those functions aren't exported.. in fact they're defined
within a c++ anonymous namespace so they're not even called that..
they'll have some mangled name internally (not sure why at some point
they got 'audit' stuck in their name).
To call it you need to go via the api (CLibraryAccess) or you can do it
manually starting with get_plugin_interface in audit.dll - something like:
plugin_interface *p = get_plugin_interface();
p->init(p);
trigger_interface *t = p->get_interface(p, pitTrigger, NULL);
Then you call as before:
t->init(NULL, "commit", "2000-11-01 10:42:15", "localhost", "fred",
"/cvsrepo", "d:\cvsrepo", "000001234", NULL, 0, NULL, NULL, '2.5.04', NULL);
t->pretag(NULL, "", "/module/directory", 2, {"file1.txt","file2.txt"},
{"1.2","1.3"}, 'T', "", "Rel_1_2_0");
And to close down:
t->close(t);
p->destroy(p)
As that's entirely a C interface it should be possible to reproduce in
delphi.
Cross platform note.. get_plugin_interface may be renamed by libtool,
since on some platforms (eg. HPUX) you can't export functions with the
same name from two different ibraries. This won't be an issue provided
you use the libtool functions to find the name.
Tony
_______________________________________________
cvsnt mailing list
[email protected]
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt
Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/