| 
    Crazy Eddies GUI System
    0.7.0
    
   | 
 
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.  More... | |
| 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.  More... | |
| 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.  More... | |
| void | destroy (const T &object) | 
| Destroy the object object, or do nothing if such an object does not exist in the collection.  More... | |
| void | destroyAll () | 
| Destroy all objects.  | |
| T & | get (const String &object_name) const | 
| Return a reference to the object named object_name.  More... | |
| 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  | |
Additional Inherited Members | |
  Public Types inherited from CEGUI::EventSet | |
| 
typedef ConstBaseIterator < EventMap >  | Iterator | 
  Static Public Attributes inherited from CEGUI::ResourceEventSet | |
| static const String | EventNamespace | 
| Namespace name for all resource managers.  | |
| static const String | EventResourceCreated | 
| Name of event fired when a resource is created by this manager.  | |
| static const String | EventResourceDestroyed | 
| Name of event fired when a resource is destroyed by this manager.  | |
| static const String | EventResourceReplaced | 
| Name of event fired when a resource is replaced by this manager.  | |
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 \a U to process the XML file \a xml_filename from resource group \a resource_group thereby creating an instance of class \a 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.8.3.1