Fixed typo. Was not getting any text after pRecord->GetRecordType() (which was proba...
[vss2svn.git] / ssphys / SSPhysLib / XML.h
blobb36f785dd0ad88c971d4d369f157798c6ffda02a
1 // XML.h:structure definitions for SourceSafe files
2 //
3 //////////////////////////////////////////////////////////////////////
5 #if !defined(AFX_XML_H__6602C07F_65ED_4FD7_A730_6D416805378A__INCLUDED_)
6 #define AFX_XML_H__6602C07F_65ED_4FD7_A730_6D416805378A__INCLUDED_
8 #if _MSC_VER > 1000
9 #pragma once
10 #endif // _MSC_VER > 1000
12 #include "tinyxml.h"
13 #include <boost/lexical_cast.hpp>
15 typedef std::map<std::string, std::string> AttribMap;
16 class XMLElement;
17 class XMLText;
19 // ---------------------------------------------------------------
20 class XMLNode // : protected XMLEntity
22 public:
23 XMLNode (XMLNode* pParent, std::string name, AttribMap attrib);
25 template <class T>
26 XMLNode (XMLNode* pParent, std::string name, const T& element)
27 : m_Node (name), m_pParent (pParent)
29 SetText (boost::lexical_cast<std::string>(element));
32 template <class T>
33 XMLNode (XMLNode* pParent, std::string name, AttribMap attrib, const T& element)
34 : m_Node (name), m_pParent (pParent)
36 SetAttributes (attrib);
37 SetText (boost::lexical_cast<std::string>(element));
40 ~XMLNode ();
42 void AddChild (XMLNode* pChild);
43 void AddText (XMLText* pContent);
45 void SetAttributes (AttribMap attrib);
46 void SetText (std::string text);
48 public:
49 TiXmlElement m_Node;
50 XMLNode* m_pParent;
54 class XMLElement : public XMLNode
56 public:
57 template <class T>
58 XMLElement (XMLNode* pParent, std::string name, const T& element)
59 : XMLNode (pParent, name, element)
63 template <class T>
64 XMLElement (XMLNode* pParent, std::string name, AttribMap attrib, const T& element)
65 : XMLNode (pParent, name, attrib, element)
70 class XMLText // : protected XMLEntity
72 public:
73 template <class T>
74 XMLText (XMLNode* pParent, const T& element)
75 : m_Text (""), m_pParent (pParent)
77 SetValue (boost::lexical_cast<std::string>(element));
80 ~XMLText ();
82 void SetValue (std::string value);
84 public:
85 XMLNode* m_pParent;
86 TiXmlText m_Text;
89 #endif // !defined(AFX_XML_H__6602C07F_65ED_4FD7_A730_6D416805378A__INCLUDED_)