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 |