Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Extending UPF

(See also How It Works.)

This section briefly describes how to extend UPF with support for new languages.

Loaders

New language is added by implementing a plugin with upf::ILoader interface in one of other languages. If upf::ILoader interface is found by UPF in one of newly registered classes, its upf::ILoader::load is automatically called to load plugins that this loader understands from directories given t upf::IManager::addModulesPath. Loader's purpose is to load plugin files and register contained clases. How is this done is language specific and intentionally left unspecified.

Registering

Every new class the loader finds must be registered. This is done with this sequence of actions:

Code generator

UPF uses omniidl (http://omniorb.sourceforge.net/omni40/omniidl.html) to translate IDL interface definitions to language-specific generated proxy code. To add a new language, add omniidl backend to upf/tools/upfparser/out_LANGUAGE.py (see omniidl documentation on writing them).
Generated on Tue Apr 24 22:55:25 2007 for Universal Plugins Framework by  doxygen 1.3.9.1