KSquare Utilities
XmlStream.h File Reference
#include <map>
#include "DateTime.h"
#include "KKStr.h"
#include "RunLog.h"
#include "XmlTokenizer.h"

Go to the source code of this file.

Classes

class  KKB::XmlAttribute
 
class  KKB::XmlAttributeList
 
class  KKB::XmlContent
 
class  KKB::XmlElement
 
class  KKB::XmlElementArrayDouble
 
class  KKB::XmlElementArrayFloat
 
class  KKB::XmlElementArrayFloat2D
 
class  KKB::XmlElementArrayFloat2DVarying
 
class  KKB::XmlElementArrayInt32
 
class  KKB::XmlElementArrayUint16
 
class  KKB::XmlElementBool
 
class  KKB::XmlElementDateTime
 
class  KKB::XmlElementDouble
 
class  KKB::XmlElementFloat
 
class  KKB::XmlElementInt32
 
class  KKB::XmlElementInt64
 
class  KKB::XmlElementKeyValuePairs
 
class  KKB::XmlElementKKStr
 
class  KKB::XmlElementTemplate< T >
 
class  KKB::XmlElementUnKnown
 XmlElement derived class that will be used when there is no Factory defined for the element. More...
 
class  KKB::XmlElementVectorFloat
 
class  KKB::XmlElementVectorInt32
 
class  KKB::XmlFactory
 
class  KKB::XmlFactoryManager
 
class  KKB::XmlStream
 Manages the reading and writing of objects in a simple XML format. For a class to be supported by XmlStream it must implement: More...
 
class  KKB::XmlTag
 
class  KKB::XmlToken
 

Namespaces

 KKB
 KKB The namespace for KKBase Library supporting general functionality needed by almost any application.
 

Macros

#define _XmlStream_Defined_
 
#define _XmlTag_Defined_
 Summary> More...
 
#define XmlElementArray2DHeader(T, TypeName, XmlElementToUse)
 
#define XmlElementArrayHeader(T, TypeName, ParserNextTokenMethod)
 
#define XmlElementBuiltInTypeHeader(T, TypeName)
 
#define XmlElementVectorHeader(T, TypeName, ParserNextTokenMethod)
 
#define XmlFactoryMacro(NameOfClass)
 
#define XmlFactoryMacro2(NameOfClass)
 

Typedefs

typedef XmlAttribute const KKB::XmlAttributeConst
 
typedef XmlAttributeConstKKB::XmlAttributeConstPtr
 
typedef XmlAttributeListKKB::XmlAttributeListPtr
 
typedef XmlAttributeKKB::XmlAttributePtr
 
typedef XmlContentKKB::XmlContentPtr
 
typedef XmlElementArrayDoubleKKB::XmlElementArrayDoublePtr
 
typedef XmlElementArrayFloat2DKKB::XmlElementArrayFloat2DPtr
 
typedef XmlElementArrayFloat2DVaryingKKB::XmlElementArrayFloat2DVaryingPtr
 
typedef XmlElementArrayFloatKKB::XmlElementArrayFloatPtr
 
typedef XmlElementArrayInt32KKB::XmlElementArrayInt32Ptr
 
typedef XmlElementArrayUint16KKB::XmlElementArrayUint16Ptr
 
typedef XmlElementBoolKKB::XmlElementBoolPtr
 
typedef XmlElementDateTimeKKB::XmlElementDateTimePtr
 
typedef XmlElementDoubleKKB::XmlElementDoublePtr
 
typedef XmlElementFloatKKB::XmlElementFloatPtr
 
typedef XmlElementInt32KKB::XmlElementInt32Ptr
 
typedef XmlElementInt64KKB::XmlElementInt64Ptr
 
typedef XmlElementKeyValuePairsKKB::XmlElementKeyValuePairsPtr
 
typedef XmlElementTemplate< KKStrListKKB::XmlElementKKStrList
 
typedef XmlElementTemplate< KKStrListIndexedKKB::XmlElementKKStrListIndexed
 
typedef XmlElementKKStrListIndexedKKB::XmlElementKKStrListIndexedPtr
 
typedef XmlElementKKStrListKKB::XmlElementKKStrListPtr
 
typedef XmlElementKKStrKKB::XmlElementKKStrPtr
 
typedef XmlElementKKB::XmlElementPtr
 
typedef XmlElementUnKnownKKB::XmlElementUnKnownPtr
 
typedef XmlElementVectorFloatKKB::XmlElementVectorFloatPtr
 
typedef XmlElementVectorInt32KKB::XmlElementVectorInt32Ptr
 
typedef XmlElementTemplate< VectorKKStrKKB::XmlElementVectorKKStr
 
typedef XmlElementVectorKKStrKKB::XmlElementVectorKKStrPtr
 
typedef XmlFactory const * KKB::XmlFactoryConstPtr
 summary>To be used for classes that implement default constructor, ReadXML, and WriteXML. More...
 
typedef XmlFactoryManagerKKB::XmlFactoryManagerPtr
 
typedef XmlFactoryKKB::XmlFactoryPtr
 
typedef XmlTokenKKB::XmlTokenPtr
 

Functions

XmlFactoryPtr KKB::XmlElementKKStrFactoryInstance ()
 
XmlFactoryPtr KKB::XmlElementUnKnownFactoryInstance ()
 

Macro Definition Documentation

#define _XmlStream_Defined_

Definition at line 109 of file XmlStream.h.

#define _XmlTag_Defined_

Summary>

The parent Class to the two type of tokens, "XmlElement" and "XmlContent"

Definition at line 247 of file XmlStream.h.

#define XmlElementArray2DHeader (   T,
  TypeName,
  XmlElementToUse 
)

Definition at line 836 of file XmlStream.h.

#define XmlElementArrayHeader (   T,
  TypeName,
  ParserNextTokenMethod 
)
Value:
class XmlElement##TypeName: public XmlElement \
{ \
public: \
XmlElement##TypeName (XmlTagPtr tag, \
XmlStream& s, \
VolConstBool& cancelFlag, \
RunLog& log \
); \
\
virtual ~XmlElement##TypeName (); \
\
kkuint32 Count () const {return count;} \
T* Value () const {return value;} \
\
T* TakeOwnership (); \
\
static \
void WriteXML (kkuint32 count, \
const T* d, \
const KKStr& varName, \
std::ostream& o \
); \
\
private: \
kkuint32 count; \
T* value; \
}; \
typedef XmlElement##TypeName* XmlElement##TypeName##Ptr;
unsigned __int32 kkuint32
Definition: KKBaseTypes.h:89
Manages the reading and writing of objects in a simple XML format. For a class to be supported by Xml...
Definition: XmlStream.h:46
Used for logging messages.
Definition: RunLog.h:49
volatile const bool VolConstBool
Definition: KKBaseTypes.h:163

Definition at line 804 of file XmlStream.h.

#define XmlElementBuiltInTypeHeader (   T,
  TypeName 
)
Value:
\
class XmlElement##TypeName: public XmlElement \
{ \
public: \
XmlElement##TypeName (XmlTagPtr tag, \
XmlStream& s, \
VolConstBool& cancelFlag, \
RunLog& log \
); \
\
virtual ~XmlElement##TypeName (); \
\
T Value () const {return value;} \
\
static \
void WriteXML (T d, \
const KKStr& varName, \
std::ostream& o \
); \
\
virtual bool ToBool () const; \
virtual KKStr ToKKStr () const; \
virtual double ToDouble () const; \
virtual float ToFloat () const; \
virtual kkint32 ToInt32 () const; \
private: \
T value; \
}; \
typedef XmlElement##TypeName* XmlElement##TypeName##Ptr;
__int32 kkint32
Definition: KKBaseTypes.h:88
Manages the reading and writing of objects in a simple XML format. For a class to be supported by Xml...
Definition: XmlStream.h:46
Used for logging messages.
Definition: RunLog.h:49
volatile const bool VolConstBool
Definition: KKBaseTypes.h:163

Definition at line 768 of file XmlStream.h.

#define XmlElementVectorHeader (   T,
  TypeName,
  ParserNextTokenMethod 
)
Value:
class XmlElement##TypeName: public XmlElement \
{ \
public: \
XmlElement##TypeName (XmlTagPtr tag, \
XmlStream& s, \
VolConstBool& cancelFlag, \
RunLog& log \
); \
\
virtual ~XmlElement##TypeName (); \
\
std::vector<T>* const Value () const {return value;} \
\
std::vector<T>* TakeOwnership (); \
\
static \
void WriteXML (const std::vector<##T>& d, \
const KKStr& varName, \
std::ostream& o \
); \
\
private: \
std::vector<T>* value; \
}; \
typedef XmlElement##TypeName* XmlElement##TypeName##Ptr;
Manages the reading and writing of objects in a simple XML format. For a class to be supported by Xml...
Definition: XmlStream.h:46
Used for logging messages.
Definition: RunLog.h:49
volatile const bool VolConstBool
Definition: KKBaseTypes.h:163

Definition at line 876 of file XmlStream.h.

#define XmlFactoryMacro (   NameOfClass)

Definition at line 688 of file XmlStream.h.

#define XmlFactoryMacro2 (   NameOfClass)

To be used when the XmlElement derived class is defined as a member of the class in question.

Definition at line 729 of file XmlStream.h.