|
Crazy Eddies GUI System 0.7.6
|
Templatised manager class that loads and manages named XML based resources. More...
Inheritance diagram for CEGUI::NamedXMLResourceManager< T, U >:
Collaboration diagram for CEGUI::NamedXMLResourceManager< T, U >:Public Member Functions | |
| NamedXMLResourceManager (const String &resource_type) | |
| Constructor. | |
| virtual | ~NamedXMLResourceManager () |
| Destructor. | |
| T & | create (const String &xml_filename, const String &resource_group="", XMLResourceExistsAction action=XREA_RETURN) |
| Creates a new T object from an XML file and adds it to the collection. | |
| void | destroy (const String &object_name) |
| Destroy the object named object_name, or do nothing if such an object does not exist in the collection. | |
| void | destroy (const T &object) |
| Destroy the object object, or do nothing if such an object does not exist in the collection. | |
| void | destroyAll () |
| Destroy all objects. | |
| T & | get (const String &object_name) const |
| Return a reference to the object named object_name. | |
| bool | isDefined (const String &object_name) const |
| Return whether an object named object_name exists. | |
| void | createAll (const String &pattern, const String &resource_group) |
| Create a new T object from files with names matching pattern in resource_group. | |
Protected Types | |
|
typedef std::map< String, T *, String::FastLessCompare > | ObjectRegistry |
| type of collection used to store and manage objects | |
Protected Member Functions | |
| void | destroyObject (typename ObjectRegistry::iterator ob) |
| implementation of object destruction. | |
| T & | doExistingObjectAction (const String object_name, T *object, const XMLResourceExistsAction action) |
| function to enforce XMLResourceExistsAction policy. | |
| virtual void | doPostObjectAdditionAction (T &object) |
| Function called each time a new object is added to the collection. | |
Protected Attributes | |
| const String | d_resourceType |
| String holding the text for the resource type managed. | |
| ObjectRegistry | d_objects |
| the collection of objects | |
Templatised manager class that loads and manages named XML based resources.
| T | Type for the object that is loaded and managed by the class. |
| U | Type for the loader used to create object instances of T from XML files. This class does all of the creation / loading work and can be of any form or type desired, with the following requirements:
|
| CEGUI::NamedXMLResourceManager< T, U >::NamedXMLResourceManager | ( | const String & | resource_type | ) |
Constructor.
| resource_type | String object holding some textual indication of the type of objects managed by the collection. This is used to give more descriptive log and exception messages. |
| T & CEGUI::NamedXMLResourceManager< T, U >::create | ( | const String & | xml_filename, |
| const String & | resource_group = "", |
||
| XMLResourceExistsAction | action = XREA_RETURN |
||
| ) |
Creates a new T object from an XML file and adds it to the collection.
Use an instance of the xml resource loading class U to process the XML file xml_filename from resource group resource_group thereby creating an instance of class T and add it to the collection under the name specified in the XML file.
| xml_filename | String holding the filename of the XML file to be used when creating the new object instance. |
| resource_group | String holding the name of the resource group identifier to be used when loading the XML file described by xml_filename. |
| action | One of the XMLResourceExistsAction enumerated values indicating what action should be taken when an object with the specified name already exists within the collection. |
| void CEGUI::NamedXMLResourceManager< T, U >::destroy | ( | const String & | object_name | ) |
Destroy the object named object_name, or do nothing if such an object does not exist in the collection.
| object_name | String holding the name of the object to be destroyed. |
| void CEGUI::NamedXMLResourceManager< T, U >::destroy | ( | const T & | object | ) |
Destroy the object object, or do nothing if such an object does not exist in the collection.
| object | The object to be destroyed (beware of keeping references to this object once it's been destroyed!) |
| T & CEGUI::NamedXMLResourceManager< T, U >::get | ( | const String & | object_name | ) | const |
Return a reference to the object named object_name.
| object_name | String holding the name of the object to be returned. |
| UnknownObjectException | thrown if no object named object_name exists within the collection. |
1.7.4