AnimatLab  2
Test
StdXml.h
Go to the documentation of this file.
1 
7 #pragma once
8 
9 namespace StdUtils
10 {
19 class STD_UTILS_PORT CStdXml : public CMarkupSTL
20 {
21 protected:
23  std::stack<std::string> m_aryTagStack;
24 
25  virtual void ClearTagStack();
26  virtual std::string ValueErrorString(std::string strValue);
27 
28 public:
29  CStdXml();
30  virtual ~CStdXml();
31 
32  virtual std::string Serialize();
33  virtual void Deserialize(std::string &strXml);
34 
35  virtual bool IntoElem();
36  virtual bool OutOfElem();
37  virtual std::string FullTagPath(bool bAddChildName = true);
38 
39  virtual int NumberOfChildren();
40  virtual bool FindElement(std::string strElementName, bool fThrowError = true);
41  virtual bool FindChildByIndex(int iIndex, bool bThrowError = true);
42  virtual bool FindChildElement(std::string strElementName, bool fThrowError = true);
43 
44  virtual bool IntoChildElement(std::string strElementName, bool bThrowError = true);
45 
46  virtual std::string GetChildString(std::string strElementName);
47  virtual std::string GetChildString(std::string strElementName, std::string strDefault);
48  virtual std::string GetChildString();
49  virtual long GetChildLong(std::string strElementName);
50  virtual long GetChildLong(std::string strElementName, long lDefault);
51  virtual long GetChildLong();
52  virtual int GetChildInt(std::string strElementName);
53  virtual int GetChildInt(std::string strElementName, int iDefault);
54  virtual int GetChildInt();
55  virtual double GetChildDouble(std::string strElementName);
56  virtual double GetChildDouble(std::string strElementName, double dblDefault);
57  virtual double GetChildDouble();
58  virtual float GetChildFloat(std::string strElementName);
59  virtual float GetChildFloat(std::string strElementName, float fltDefault);
60  virtual float GetChildFloat();
61  virtual bool GetChildBool(std::string strElementName);
62  virtual bool GetChildBool(std::string strElementName, bool bDefault);
63  virtual bool GetChildBool();
64 
65  virtual void AddElement(std::string strElementName, std::string strData = "");
66  //virtual bool RemoveElement(std::string strElementName, bool bThrowError = true);
67 
68  //Had to name the functions different here because bool was conflicting with int.
69  virtual void AddChildElement(std::string strElementName);
70  virtual void AddChildElement(std::string strElementName, std::string strVal);
71  virtual void AddChildElement(std::string strElementName, char cVal);
72  virtual void AddChildElement(std::string strElementName, unsigned char cVal);
73  virtual void AddChildElement(std::string strElementName, long lVal);
74  virtual void AddChildElement(std::string strElementName, int iVal);
75  virtual void AddChildElement(std::string strElementName, double dblVal);
76  virtual void AddChildElement(std::string strElementName, float fltVal);
77  virtual void AddChildElement(std::string strElementName, bool bVal);
78 
79  virtual void AddChildCData(std::string strElementName, std::string strCData);
80 
81  virtual std::string GetAttribString(std::string strAttribName, bool bCanBeBlank = false, bool bThrowError = true, std::string strDefault = "");
82  virtual long GetAttribLong(std::string strAttribName, bool bThrowError = true, long lDefault = 0);
83  virtual int GetAttribInt(std::string strAttribName, bool bThrowError = true, int iDefault = 0);
84  virtual double GetAttribDouble(std::string strAttribName, bool bThrowError = true, double dblDefault = 0);
85  virtual float GetAttribFloat(std::string strAttribName, bool bThrowError = true, float fltDefault = 0);
86  virtual bool GetAttribBool(std::string strAttribName, bool bThrowError = true, bool bDefault = false);
87 
88  virtual void SetAttrib(std::string strAttribName, std::string strVal);
89  virtual void SetAttrib(std::string strAttribName, char cVal);
90  virtual void SetAttrib(std::string strAttribName, unsigned char cVal);
91  virtual void SetAttrib(std::string strAttribName, long lVal);
92  virtual void SetAttrib(std::string strAttribName, int iVal);
93  virtual void SetAttrib(std::string strAttribName, double dblVal);
94  virtual void SetAttrib(std::string strAttribName, float fltVal);
95  virtual void SetAttrib(std::string strAttribName, bool bVal);
96 
97  virtual std::string GetChildAttribString(std::string strAttribName, bool bCanBeBlank = false, bool bThrowError = true, std::string strDefault = "");
98  virtual long GetChildAttribLong(std::string strAttribName, bool bThrowError = true, long lDefault = 0);
99  virtual int GetChildAttribInt(std::string strAttribName, bool bThrowError = true, int iDefault = 0);
100  virtual double GetChildAttribDouble(std::string strAttribName, bool bThrowError = true, double dblDefault = 0);
101  virtual float GetChildAttribFloat(std::string strAttribName, bool bThrowError = true, float fltDefault = 0);
102  virtual bool GetChildAttribBool(std::string strAttribName, bool bThrowError = true, bool bDefault = false);
103 
104  virtual void SetChildAttrib(std::string strAttribName, std::string strVal);
105  virtual void SetChildAttrib(std::string strAttribName, char cVal);
106  virtual void SetChildAttrib(std::string strAttribName, unsigned char cVal);
107  virtual void SetChildAttrib(std::string strAttribName, long lVal);
108  virtual void SetChildAttrib(std::string strAttribName, int iVal);
109  virtual void SetChildAttrib(std::string strAttribName, double dblVal);
110  virtual void SetChildAttrib(std::string strAttribName, float fltVal);
111  virtual void SetChildAttrib(std::string strAttribName, bool bVal);
112 
113  virtual void AddChildDoc(std::string &strDoc);
114  virtual std::string GetChildDoc();
115  virtual std::string GetParentTagName();
116 
117  virtual void Load(std::string strFilename);
118  virtual void Save(std::string strFilename);
119 };
120 
121 } //StdUtils
A standard xml manipulation class.
Definition: StdXml.h:19
Namespace for the standard utility objects.
Definition: MarkupSTL.cpp:19
std::stack< std::string > m_aryTagStack
Stack of tags.
Definition: StdXml.h:23