Templatised manager class that loads and manages named XML based resources.
More...
List of all members.
Detailed Description
template<typename T, typename U>
class CEGUI::NamedXMLResourceManager< T, U >
Templatised manager class that loads and manages named XML based resources.
- Template Parameters:
-
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:
- a constructor signature compatible with the following call: U(const String& xml_filename, const String& resource_group);
- a function getObjectName that returns the name of the object as specified in the XML file given in the constructor to U.
- a function getObject that returns a reference to the object created as a result of processing the XML file given in the constructor to U.
|
- Note:
- Once NamedXMLResourceManager calls getObject on the instance of U, it assumes that it now owns the object returned, if no call to getObject is made, no such transfer of ownership is assumed.
Constructor & Destructor Documentation
template<typename T , typename U >
Constructor.
- Parameters:
-
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. |
Member Function Documentation
template<typename T , typename U >
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.
- Parameters:
-
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. |
template<typename T , typename U >
Destroy the object named object_name, or do nothing if such an object does not exist in the collection.
- Parameters:
-
object_name | String holding the name of the object to be destroyed. |
template<typename T, typename U >
Destroy the object object, or do nothing if such an object does not exist in the collection.
- Parameters:
-
object | The object to be destroyed (beware of keeping references to this object once it's been destroyed!) |
template<typename T , typename U >
Return a reference to the object named object_name.
- Parameters:
-
object_name | String holding the name of the object to be returned. |
- Exceptions:
-