Programmer's Guide to the wftk -- repository manager API

[ wftk documentation home ]

Overview

The repository manager (repmgr) API is the set of C-language routines you can call from your code, assuming you're working in some language that can deal with calling C-language routines. Under Windows, these are contained in the repmgr or repmgr_rt DLLs (depending on which runtime library you link against). Under Unix you generally static-link to the wftk.

This API is roughly object-oriented, making it relatively easy to embed in an object-oriented language. Notes on the class structure planned for the wftk are here. These classes are more or less language-agnostic, in that they will be substantially identical whether you're writing Python, Java, or C++.

In the repository manager, the universe of discourse is represented by the repository object. This is defined in XML (like everything else); the command-line repmgr utility assumes this to be stored in a file called "site.opm" for historical reasons, in a directory the repository manager can use as its own. However, in your application, you can build the repository object any way you need to.

Data structures

All data structures for the wftk are built as internal XML objects using the XMLAPI. These are the various things you will encounter while working with the wftk:

Areas of functionality

The functions in the repository manager API fall into the following categories. Some of the functions listed here seemed like good ideas at the time, and have yet to be implemented at all, while others have seen daily use for more than a year in multiple production environments.

Examples

For now, you can look at the code in the command-line utility, but at some point I want to snip some working bits of code out as examples.





Copyright (c) 2002 Vivtek. Please see the licensing terms for more information.