GWE::GCoreXmlSerializer Class Reference

Implements XML serialization of GCS data. More...

#include <GCoreXmlSerializer.h>

Inheritance diagram for GWE::GCoreXmlSerializer:

Inheritance graph
[legend]
Collaboration diagram for GWE::GCoreXmlSerializer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 GCoreXmlSerializer (const GCS::GWorldData *world_data, QObject *parent=0)
virtual ~GCoreXmlSerializer ()
GCS::GAgentcreateAgent (QDomElement data)
QList< GCS::GAgent * > createAgents (QDomElement data)
GCS::GElementData * createElementData (QDomElement data)
GCS::GElementcreateElement (QDomElement data)
GCS::GElementID createElementID (QDomElement data, bool *ok=NULL)
GCS::GEnergycreateEnergy (QDomElement data)
GCS::GVector3 createVector3 (QDomElement data, bool *ok=NULL)
GCS::GObjectcreateObject (QDomElement data)
GCS::GFormcreateForm (QDomElement data)
GCS::GMatrix44 createMatrix44 (QDomElement data, bool *ok=NULL)
GCS::GElementInfluence createElementInfluence (QDomElement data, bool *ok=NULL)
GCS::GElementID getInfluenceTarget (QDomElement data, bool *ok=NULL)
QDomElement serializeAgent (const GCS::GAgent *agent, QString TagName, QDomDocument *document=new QDomDocument())
QDomElement serializeElementData (const GCS::GElementData *data, QString TagName, QDomDocument *document=new QDomDocument())
QDomElement serializeElement (const GCS::GElement *element, QString TagName, QDomDocument *document=new QDomDocument())
QDomElement serializeElementID (const GCS::GElementID &element_id, QString TagName, QDomDocument *document=new QDomDocument())
QDomElement serializeEnergy (const GCS::GEnergy *energy, QString TagName, QDomDocument *document=new QDomDocument())
QDomElement serializeForm (const GCS::GForm *form, QString TagName, QDomDocument *document=new QDomDocument())
QDomElement serializeVector3 (const GCS::GVector3 *vector3, QString TagName, QDomDocument *document=new QDomDocument())
QDomElement serializeObject (const GCS::GObject *object, QString TagName, QDomDocument *document=new QDomDocument())
QDomElement serializeAgents (QList< const GCS::GAgent * > Agents, QString TagName, QDomDocument *document=new QDomDocument())
QDomElement serializeMatrix44 (const GCS::GMatrix44 &matrix, QString TagName, QDomDocument *document=new QDomDocument())
QDomElement serializeElementInfluence (const GCS::GElementInfluence &influence, const GCS::GElementID &target_element, QString TagName, QDomDocument *document=new QDomDocument())

Protected Attributes

const GCS::GWorldDataWorldData

Detailed Description

Implements XML serialization of GCS data.

Author:
Raphael Langerhorst
Todo:
define the XML Schema for each part(!) and implement serialization.
This class is the bridge between the C++ object representation of G Core System classes and XML data representation. It can convert C++ objects of the G Core System into XML and convert XML data into GCS C++ objects. The XML data structure is defined by the XML Schema for the GCS.

The C++ objects are required to be able to execute elements, these are then considered to be active. They constantly change through their activities of the agents. Changes are also reported to the GWE which in turn uses this class to convert the changed parts of the C++ objects into XML.

For data transportation (especially through network) and persistent storage, the XML representation of elements is used. This makes network and storage implementations independent of the C++ classes. XML also provides a standard for data representation, which makes it particularly useful as interchange format (as defined by XML Schemas) between GWE Server instances.

The Serializer is able to work in pieces of data (QDomElement). These pieces can be compiled together to a complete XML document.


Constructor & Destructor Documentation

GWE::GCoreXmlSerializer::GCoreXmlSerializer ( const GCS::GWorldData world_data,
QObject *  parent = 0 
)

Constructor.

GWE::GCoreXmlSerializer::~GCoreXmlSerializer (  )  [virtual]

Virtual Destructor.


Member Function Documentation

GWE::GCoreXmlSerializer::createAgent ( QDomElement  data  ) 

Creates an agent from XML.

QList< GCS::GAgent * > GWE::GCoreXmlSerializer::createAgents ( QDomElement  data  ) 

Creates an agent list from XML.

GCS::GElement * GWE::GCoreXmlSerializer::createElement ( QDomElement  data  ) 

Creates an element from XML.

Note:
this method uses the other methods to compound a complete element.

GElementData * GWE::GCoreXmlSerializer::createElementData ( QDomElement  data  ) 

Creates element data from XML.

GCS::GElementID GWE::GCoreXmlSerializer::createElementID ( QDomElement  data,
bool *  ok = NULL 
)

Creates an element ID from XML.

GCS::GEnergy * GWE::GCoreXmlSerializer::createEnergy ( QDomElement  data  ) 

Creates energy from XML.

GCS::GForm * GWE::GCoreXmlSerializer::createForm ( QDomElement  data  ) 

Create a form from XML.

GCS::GObject * GWE::GCoreXmlSerializer::createObject ( QDomElement  data  ) 

Create a GObject from XML.

GCS::GVector3 GWE::GCoreXmlSerializer::createVector3 ( QDomElement  data,
bool *  ok = NULL 
)

Create a GVector3 from XML.

QDomElement GWE::GCoreXmlSerializer::serializeAgent ( const GCS::GAgent agent,
QString  TagName,
QDomDocument *  document = new QDomDocument() 
)

Serializes an agent into XML.

QDomElement GWE::GCoreXmlSerializer::serializeElement ( const GCS::GElement element,
QString  TagName,
QDomDocument *  document = new QDomDocument() 
)

Serializes an element into XML.

Note:
this method uses the other methods to compound a complete element.

QDomElement GWE::GCoreXmlSerializer::serializeElementData ( const GCS::GElementData *  data,
QString  TagName,
QDomDocument *  document = new QDomDocument() 
)

Serializes element data into XML.

QDomElement GWE::GCoreXmlSerializer::serializeElementID ( const GCS::GElementID element_id,
QString  TagName,
QDomDocument *  document = new QDomDocument() 
)

Serializes an element identification into XML.

QDomElement GWE::GCoreXmlSerializer::serializeEnergy ( const GCS::GEnergy energy,
QString  TagName,
QDomDocument *  document = new QDomDocument() 
)

Serializes energy into XML.

QDomElement GWE::GCoreXmlSerializer::serializeForm ( const GCS::GForm form,
QString  TagName,
QDomDocument *  document = new QDomDocument() 
)

Serializes a form into XML.

QDomElement GWE::GCoreXmlSerializer::serializeObject ( const GCS::GObject object,
QString  TagName,
QDomDocument *  document = new QDomDocument() 
)

Serializes an object into XML.

QDomElement GWE::GCoreXmlSerializer::serializeVector3 ( const GCS::GVector3 vector3,
QString  TagName,
QDomDocument *  document = new QDomDocument() 
)

Serializes a Vector3 into XML.


Member Data Documentation

const GCS::GWorldData* GWE::GCoreXmlSerializer::WorldData [protected]

The GCS::GWorldData object is used to create GCS::GObject objects. The GObject class needs a pointer to the world data in the constructor.


The documentation for this class was generated from the following files:
Generated on Thu Nov 16 07:49:36 2006 for G System by  doxygen 1.4.7