XML document resource. More...

#include <XMLFile.h>

Inheritance diagram for Urho3D::XMLFile:
[legend]
Collaboration diagram for Urho3D::XMLFile:
[legend]

Public Member Functions

 XMLFile (Context *context)
 Construct.
 
virtual ~XMLFile ()
 Destruct.
 
virtual bool BeginLoad (Deserializer &source)
 Load resource from stream. May be called from a worker thread. Return true if successful.
 
virtual bool Save (Serializer &dest) const
 Save resource with default indentation (one tab). Return true if successful.
 
bool Save (Serializer &dest, const String &indendation) const
 Save resource with user-defined indentation. Return true if successful.
 
bool FromString (const String &source)
 Deserialize from a string. Return true if successful.
 
XMLElement CreateRoot (const String &name)
 Clear the document and create a root element.
 
XMLElement GetRoot (const String &name=String::EMPTY)
 Return the root element, with optionally specified name. Return null element if not found.
 
pugi::xml_document * GetDocument () const
 Return the pugixml document.
 
String ToString (const String &indendation="\t") const
 Serialize the XML content to a string.
 
void Patch (XMLFile *patchFile)
 Patch the XMLFile with another XMLFile. Based on RFC 5261.
 
void Patch (XMLElement patchElement)
 Patch the XMLFile with another XMLElement. Based on RFC 5261.
 
- Public Member Functions inherited from Urho3D::Resource
 Resource (Context *context)
 Construct.
 
bool Load (Deserializer &source)
 Load resource synchronously. Call both BeginLoad() & EndLoad() and return true if both succeeded.
 
virtual bool EndLoad ()
 Finish resource loading. Always called from the main thread. Return true if successful.
 
void SetName (const String &name)
 Set name.
 
void SetMemoryUse (unsigned size)
 Set memory use in bytes, possibly approximate.
 
void ResetUseTimer ()
 Reset last used timer.
 
void SetAsyncLoadState (AsyncLoadState newState)
 Set the asynchronous loading state. Called by ResourceCache. Resources in the middle of asynchronous loading are not normally returned to user.
 
const StringGetName () const
 Return name.
 
StringHash GetNameHash () const
 Return name hash.
 
unsigned GetMemoryUse () const
 Return memory use in bytes, possibly approximate.
 
unsigned GetUseTimer ()
 Return time since last use in milliseconds. If referred to elsewhere than in the resource cache, returns always zero.
 
AsyncLoadState GetAsyncLoadState () const
 Return the asynchronous loading state.
 
- Public Member Functions inherited from Urho3D::Object
 Object (Context *context)
 Construct.
 
virtual ~Object ()
 Destruct. Clean up self from event sender & receiver structures.
 
virtual Urho3D::StringHash GetType () const =0
 Return type hash.
 
virtual Urho3D::StringHash GetBaseType () const =0
 Return base class type hash.
 
virtual const Urho3D::StringGetTypeName () const =0
 Return type name.
 
virtual void OnEvent (Object *sender, StringHash eventType, VariantMap &eventData)
 Handle event.
 
void SubscribeToEvent (StringHash eventType, EventHandler *handler)
 Subscribe to an event that can be sent by any sender.
 
void SubscribeToEvent (Object *sender, StringHash eventType, EventHandler *handler)
 Subscribe to a specific sender's event.
 
void UnsubscribeFromEvent (StringHash eventType)
 Unsubscribe from an event.
 
void UnsubscribeFromEvent (Object *sender, StringHash eventType)
 Unsubscribe from a specific sender's event.
 
void UnsubscribeFromEvents (Object *sender)
 Unsubscribe from a specific sender's events.
 
void UnsubscribeFromAllEvents ()
 Unsubscribe from all events.
 
void UnsubscribeFromAllEventsExcept (const PODVector< StringHash > &exceptions, bool onlyUserData)
 Unsubscribe from all events except those listed, and optionally only those with userdata (script registered events.)
 
void SendEvent (StringHash eventType)
 Send event to all subscribers.
 
void SendEvent (StringHash eventType, VariantMap &eventData)
 Send event with parameters to all subscribers. More...
 
VariantMapGetEventDataMap () const
 Return a preallocated map for event data. Used for optimization to avoid constant re-allocation of event data maps.
 
ContextGetContext () const
 Return execution context.
 
ObjectGetSubsystem (StringHash type) const
 Return subsystem by type.
 
ObjectGetEventSender () const
 Return active event sender. Null outside event handling.
 
EventHandlerGetEventHandler () const
 Return active event handler. Null outside event handling.
 
bool HasSubscribedToEvent (StringHash eventType) const
 Return whether has subscribed to an event without specific sender.
 
bool HasSubscribedToEvent (Object *sender, StringHash eventType) const
 Return whether has subscribed to a specific sender's event.
 
bool HasEventHandlers () const
 Return whether has subscribed to any event.
 
template<class T >
T * GetSubsystem () const
 Template version of returning a subsystem.
 
const StringGetCategory () const
 Return object category. Categories are (optionally) registered along with the object factory. Return an empty string if the object category is not registered.
 
- Public Member Functions inherited from Urho3D::RefCounted
 RefCounted ()
 Construct. Allocate the reference count structure and set an initial self weak reference.
 
virtual ~RefCounted ()
 Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist.
 
void AddRef ()
 Increment reference count. Can also be called outside of a SharedPtr for traditional reference counting.
 
void ReleaseRef ()
 Decrement reference count and delete self if no more references. Can also be called outside of a SharedPtr for traditional reference counting.
 
int Refs () const
 Return reference count.
 
int WeakRefs () const
 Return weak reference count.
 
RefCountRefCountPtr ()
 Return pointer to the reference count structure.
 

Static Public Member Functions

static void RegisterObject (Context *context)
 Register object factory.
 

Private Member Functions

 OBJECT (XMLFile)
 
void PatchAdd (const pugi::xml_node &patch, pugi::xpath_node &original)
 Add an node in the Patch.
 
void PatchReplace (const pugi::xml_node &patch, pugi::xpath_node &original)
 Replace a node or attribute in the Patch.
 
void PatchRemove (const pugi::xpath_node &original)
 Remove a node or attribute in the Patch.
 
void AddNode (const pugi::xml_node &patch, pugi::xpath_node &original)
 Add a node in the Patch.
 
void AddAttribute (const pugi::xml_node &patch, pugi::xpath_node &original)
 Add an attribute in the Patch.
 
bool CombineText (const pugi::xml_node &patch, pugi::xml_node original, bool prepend)
 Combine two text nodes.
 

Private Attributes

pugi::xml_document * document_
 Pugixml document.
 

Additional Inherited Members

- Protected Attributes inherited from Urho3D::Object
Contextcontext_
 Execution context.
 

Detailed Description

XML document resource.


The documentation for this class was generated from the following files:
  • /home/travis/build/urho3d/Urho3D/Source/Urho3D/Resource/XMLFile.h
  • /home/travis/build/urho3d/Urho3D/Source/Urho3D/Resource/XMLFile.cpp