This is destined to hold a number of CAccessorFactories. More...
#include <CAccessorFactoryContainer.h>
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. More... | |
void | configure (CXMLElement *inConfigurationData) |
configure this More... | |
~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 More... | |
void | closeAccessor (string inName) |
closing an accessor. More... | |
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.
CAccessorFactoryContainer::CAccessorFactoryContainer | ( | ) |
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 |