[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-client-cvs
Subject:    [Client-cvs] encodesvc/common/xmlparser/pub hxtxmlparser.h,1.5,1.6
From:       sfu () helixcommunity ! org
Date:       2010-08-24 20:26:17
Message-ID: 201008242026.o7OKQF8M026448 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/client/encodesvc/common/xmlparser/pub
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv10577/pub

Modified Files:
	hxtxmlparser.h 
Log Message:
add LOCAL and UTF-8 internal char encoding modes to xml parser

Index: hxtxmlparser.h
===================================================================
RCS file: /cvsroot/client/encodesvc/common/xmlparser/pub/hxtxmlparser.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- hxtxmlparser.h	18 Aug 2009 20:02:55 -0000	1.5
+++ hxtxmlparser.h	24 Aug 2010 20:26:14 -0000	1.6
@@ -96,11 +96,13 @@
 #include <stack>
 using namespace std;
 
+enum ECharEncoding { ANSI, LOCAL, UTF8};
+
 class CHXTAttribute
 {
 public:
-    CHXTAttribute();
-    CHXTAttribute(const char* szName, const char* szValue);
+    CHXTAttribute(ECharEncoding eEncoding = ANSI);
+    CHXTAttribute(const char* szName, const char* szValue, ECharEncoding eEncoding = ANSI);
     CHXTAttribute(const CHXTAttribute& rhs);
     ~CHXTAttribute();
 
@@ -110,6 +112,9 @@
     string GetXMLSafeNameUTF8() const;
     const char* GetValue() const;
     string GetXMLSafeValueUTF8() const;
+
+    void SetEncoding(ECharEncoding eEncoding) { if (m_pData) { m_pData->m_eEncoding = eEncoding; } }
+    ECharEncoding GetEncoding(void) const { return m_pData ? m_pData->m_eEncoding : ANSI; }
     
     void SetName(const char* szName);
 	void SetNameUTF8(const char* szName);
@@ -139,9 +144,10 @@
         UINT32 ulRefCount;
         realstring m_sName;
         realstring m_sValue;
+        ECharEncoding m_eEncoding;
 
-        AttributeData();
-        AttributeData(const char* szName, const char* szValue);
+        AttributeData(ECharEncoding eEncoding = ANSI);
+        AttributeData(const char* szName, const char* szValue, ECharEncoding eEncoding = ANSI);
         ~AttributeData();
         };
 
@@ -158,7 +164,7 @@
 class CHXTElement : public CHXTAttribute
 {
 public:
-    CHXTElement();
+    CHXTElement(ECharEncoding eEncoding = ANSI);
     CHXTElement(const CHXTElement& rhs);
     ~CHXTElement();
 
@@ -178,6 +184,7 @@
     
     void      AppendChildContentOffset(UINT32 ulOffset);
     HX_RESULT AddAttribute(const char* szName, const char* szValue);
+    HX_RESULT AddAttributeUTF8(const char* szName, const char* szValue);
     HX_RESULT AddChild(const char* szName, const char* szValue, UINT32* pnIndex=NULL);
     HX_RESULT AddChildElement(const CHXTElement& newElement, UINT32* pnIndex=NULL);
 
@@ -239,7 +246,7 @@
 class CHXTXmlParser
 {
 public:
-    CHXTXmlParser();
+    CHXTXmlParser(ECharEncoding eEncoding = ANSI);
     ~CHXTXmlParser();
 
     HX_RESULT ParseFile(const char* szFilename);
@@ -266,8 +273,8 @@
     HX_RESULT WriteToBuffer(char* szBuffer, const char* szSource, UINT32* pnBufferLength);
 
     CHXTElement m_RootElement;
-    realstring m_sEncoding;
-    realstring m_sError;
+
+	realstring m_sError;
     UINT32 m_nErrorLineNum;
     UINT32 m_nErrorColumnNum;
 


_______________________________________________
Client-cvs mailing list
Client-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/client-cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic