Annotation of truecrypt/main/xml.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  Copyright (c) 2008 TrueCrypt Foundation. All rights reserved.
                      3: 
                      4:  Governed by the TrueCrypt License 2.4 the full text of which is contained
                      5:  in the file License.txt included in TrueCrypt binary and source code
                      6:  distribution packages.
                      7: */
                      8: 
                      9: #ifndef TC_HEADER_Main_Xml
                     10: #define TC_HEADER_Main_Xml
                     11: 
                     12: #include "System.h"
                     13: #include "Main.h"
                     14: 
                     15: namespace TrueCrypt
                     16: {
                     17:        struct XmlNode;
                     18:        typedef list <XmlNode> XmlNodeList;
                     19: 
                     20:        struct XmlNode
                     21:        {
                     22:                XmlNode () { }
                     23:                XmlNode (const wxString &name) : Name (name) { }
                     24:                XmlNode (const wxString &name, const wxString &innerText) : InnerText (innerText), Name (name) { }
                     25:                XmlNode (const wxString &name, const XmlNodeList &innerNodes) : InnerNodes (innerNodes), Name (name) { }
                     26: 
                     27:                map <wxString, wxString> Attributes;
                     28:                XmlNodeList InnerNodes;
                     29:                wxString InnerText;
                     30:                wxString Name;
                     31:        };
                     32: 
                     33:        class XmlParser
                     34:        {
                     35:        public:
                     36:                XmlParser (const FilePath &fileName);
                     37:                XmlParser (const string &xmlTextUtf8) : XmlText (wxString::FromUTF8 (xmlTextUtf8.c_str())) { }
                     38:                XmlParser (const wxString &xmlText) : XmlText (xmlText) { }
                     39:                virtual ~XmlParser () { }
                     40: 
                     41:                wxString ConvertEscapedChars (wxString xmlString) const;
                     42:                XmlNodeList GetNodes (const wxString &nodeName) const;
                     43: 
                     44:        protected:
                     45:                wxString XmlText;
                     46: 
                     47:        private:
                     48:                XmlParser (const XmlParser &);
                     49:                XmlParser &operator= (const XmlParser &);
                     50:        };
                     51: 
                     52:        class XmlWriter
                     53:        {
                     54:        public:
                     55:                XmlWriter (const FilePath &fileName);
                     56:                virtual ~XmlWriter ();
                     57: 
                     58:                void Close();
                     59:                wxString EscapeChars (wxString rawString) const;
                     60:                void WriteNode (const XmlNode &xmlNode);
                     61:                void WriteNodes (const XmlNodeList &xmlNodes);
                     62: 
                     63:        protected:
                     64:                int CurrentIndentLevel;
                     65:                auto_ptr <wxMemoryOutputStream> MemOutStream;
                     66:                auto_ptr <wxTextOutputStream> TextOutStream;
                     67:                File OutFile;
                     68: 
                     69:        private:
                     70:                XmlWriter (const XmlWriter &);
                     71:                XmlWriter &operator= (const XmlWriter &);
                     72:        };
                     73: }
                     74: 
                     75: #endif // TC_HEADER_Main_Xml

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.