MxSDK
.
More...
#include <Framework.h>
Inheritance diagram for mx::Framework:
Public Member Functions | |
Framework (mxmList *statically_linked_components=0) | |
Plugin manager constructor. | |
int | numComponents () |
Returns the number of installed components. | |
mxm::smart< mxmStringList > | enumerateComponents () |
Returns the ids of the installed components. | |
Static Public Member Functions | |
static Framework * | framework () |
Retrieves the framework instance. | |
static mx::EErrorCode | getComponentInterface (const ComponentDescriptor &cd, mxm::smart< mx::IComponent > &spInterface) |
Returns a smart handle for a component satisfying the requested constraints. | |
static mx::EErrorCode | getComponentInterface (const char *InterfaceId, mxm::smart< mx::IComponent > &spInterface, const mxmStringList &Capabilities) |
Convenience version. | |
static mx::EErrorCode | getComponentInterface (const char *InterfaceId, mxm::smart< mx::IComponent > &spInterface, const mxmString &Capability="") |
Convenience version. | |
static mxm::smart< IComponent > | getComponent (const ComponentDescriptor &cd) |
Returns smart handle for arbitrary type of component, but throws terminal exception in case of failure. | |
static mxm::smart< IComponent > | getComponent (const mxmString &interface_id, const mxmStringList &interface_capabilities) |
Convenience version. | |
static mxm::smart< IComponent > | getComponent (const mxmString &interface_id, const mxmString &interface_capability="") |
Convenience version. | |
static IComponent * | newComponentInstance (const ComponentDescriptor &cd, mxm::flags selection_flags=0) |
Instantiates a multiple-instance type of component with semantics comparable to operator new() : returns dump pointer and throws terminal exception in case of failure. | |
static IComponent * | newComponentInstance (const mxmString &interface_id, const mxmStringList &interface_capabilities, mxm::flags selection_flags=0) |
Convenience version. | |
static IComponent * | newComponentInstance (const mxmString &interface_id, const mxmString &interface_capability="", mxm::flags selection_flags=0) |
Convenience version. | |
Static Public Attributes | |
static const mxm::flags | HarmlessSelectionFailures = 1 |
Selection flag. | |
static const char * | IdHintKey = "_id" |
static const char * | ObsoletesHintKey = "_obsoletes" |
Private Member Functions | |
int | bindComponentPacks () |
Dynamically loads all present component packs into the address space. | |
int | useStaticallyLinkedComponents (mxmList *statically_linked_components) |
Installs components bootstrapped by the application context. | |
bool | loadSharedLibrary (const mxmString &filename) |
Helper method doing the actual dynamic loading of component pack libraries. | |
mx::EErrorCode | provideComponent (const ComponentDescriptor &cd, mxm::smart< mx::IComponent > &spInterface, bool &instantiated_new) |
Component selection (and possibly instantiation) algorithm. | |
Private Attributes | |
mxmList | LoadedComponentPacks |
mxmList | ComponentList |
void * | StableABIDataExtension |
Static Private Attributes | |
static Framework * | s_pFramework = 0 |
Classes | |
class | ComponentDescriptor |
Holds meta-information describing a component type. More... | |
class | ComponentEntry |
class | ComponentPackEntry |
MxSDK
.
Supports plugin and self-registration of components.
[agu] Alexander Gugau
[khe]
Kai Hergenroether
|
Plugin manager constructor.
The framwork scans the
If |
|
Dynamically loads all present component packs into the address space.
|
|
Returns the ids of the installed components. If less ids are returned than components are reported to be installed by numComponents(), that means some of the installed components are anonymous - exactly as many as the observed difference. |
|
Returns a smart handle for a component satisfying the requested constraints. If the desired interface is implemented by a singleton component, a handle to the singleton is returned. If, on the other hand, there is a component generator for the desired interface, a new component object is created and a handle to it is returned.
|
|
Instantiates a multiple-instance type of component with semantics comparable to
You need to use this dumb pointer method version in case you handle component ownership yourself. For example this applies to components that are
|
|
Installs components bootstrapped by the application context. Usable components get installed, the rest including the mxmList object is discarded.
|