This is destined to hold a number of CAccessorFactories. More...
#include <CAccessorFactoryContainer.h>
Classes | |
class | CContentElement |
Public Types | |
typedef map< string, CContentElement > | CContent |
Typedef: The content is a map of string to content element In this map is noted, which accessors are open for the collection with the given ID. | |
Public Member Functions | |
CAccessorFactoryContainer () | |
construct this. | |
void | configure (CXMLElement *inConfigurationData) |
configure this | |
~CAccessorFactoryContainer () | |
The destructor destroys the CContentElements properly. | |
void | registerFactory (CAccessorFactory *inFactory, string inName) |
adding a factory to the content | |
CAccessor * | openAccessor (string inName, const CXMLElement &inCollectionElement) |
opening an accessor: if the accessor is already constructed, then simply give the pointer, otherwhise construct a new one using the appropriate factory | |
void | closeAccessor (string inName) |
closing an accessor. | |
bool | isPresentFactory (string inName) const |
Is a given factory present in the factory? Useful for building in order to avoid double registration and double dynamic linking. | |
Protected Attributes | |
CContent | mContent |
the content |
This is destined to hold a number of CAccessorFactories.
The use of this is to have an open-close-counter for all the factories which have been registered in this
New elements are only constructed if necessary.
construct this.
In the case of static linking, this means the construction of factorys for all accessors.
void CAccessorFactoryContainer::closeAccessor | ( | string | inName | ) |
closing an accessor.
If there have been as many openAccessor as closeAccessor calls, the accessor will be delete-d.
void CAccessorFactoryContainer::configure | ( | CXMLElement * | inConfigurationData | ) |
configure this
In the case of dynamic linking we will scan libdir for plugins
CAccessor* CAccessorFactoryContainer::openAccessor | ( | string | inName, |
const CXMLElement & | inCollectionElement | ||
) |
opening an accessor: if the accessor is already constructed, then simply give the pointer, otherwhise construct a new one using the appropriate factory
name | of the accessor to be created |
inConfigurationData | the configuration data of the CXMLElement to be created |