You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ro...@apache.org on 2003/07/15 09:09:02 UTC
cvs commit: xml-axis/c/src/soap ComplexElement.h ComplexElement.cpp CharacterElement.h CharacterElement.cpp BasicNode.h
roshan 2003/07/15 00:09:02
Modified: c/src/soap ComplexElement.h ComplexElement.cpp
CharacterElement.h CharacterElement.cpp BasicNode.h
Log:
added code
Revision Changes Path
1.2 +4 -3 xml-axis/c/src/soap/ComplexElement.h
Index: ComplexElement.h
===================================================================
RCS file: /home/cvs/xml-axis/c/src/soap/ComplexElement.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ComplexElement.h 27 Jun 2003 04:39:26 -0000 1.1
+++ ComplexElement.h 15 Jul 2003 07:09:01 -0000 1.2
@@ -82,15 +82,16 @@
{
public:
int setURI(const string& sURI);
- int serialize(string& sSerialized);
+ int serialize(SoapSerializer& pSZ);
int addChild(BasicNode* pBasicNode);
int setLocalName(const string& sLocalName);
int setPrefix(const string& sPrefix);
ComplexElement();
virtual ~ComplexElement();
-private:
- int serializeChildren(string& sSerialized);
+private:
+ int serializeChildren(SoapSerializer& pSZ);
+ //int serializeChildren(string& sSerialized);
bool isSerializable();
list<BasicNode*> m_children;
string m_sPrefix;
1.2 +63 -0 xml-axis/c/src/soap/ComplexElement.cpp
Index: ComplexElement.cpp
===================================================================
RCS file: /home/cvs/xml-axis/c/src/soap/ComplexElement.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ComplexElement.cpp 27 Jun 2003 04:39:26 -0000 1.1
+++ ComplexElement.cpp 15 Jul 2003 07:09:01 -0000 1.2
@@ -66,6 +66,7 @@
//////////////////////////////////////////////////////////////////////
#include "ComplexElement.h"
+#include "SoapSerializer.h"
#include "../common/GDefine.h"
//////////////////////////////////////////////////////////////////////
@@ -103,6 +104,51 @@
return SUCCESS;
}
+int ComplexElement::serialize(SoapSerializer& pSZ)
+{
+ int iStatus= SUCCESS;
+
+ do {
+ if(isSerializable()) {
+
+ pSZ << "<";
+
+ if(m_sPrefix.length() != 0) {
+ pSZ<< m_sPrefix.c_str() << ":";
+ }
+
+ pSZ<< m_sLocalName.c_str();
+
+ if((m_sPrefix.length() != 0) && (m_sURI.length() != 0)) {
+ pSZ<< " xmlns:" << m_sPrefix.c_str() << "=\"" << m_sURI.c_str() << "\"";
+ }
+
+ pSZ<< ">";
+
+ iStatus= serializeChildren(pSZ);
+ if(iStatus==FAIL) {
+ break;
+ }
+
+ pSZ<< "</";
+
+ if(m_sPrefix.length() != 0) {
+ pSZ<< m_sPrefix.c_str() << ":";
+ }
+
+ pSZ<< m_sLocalName.c_str() << ">";
+
+ iStatus= SUCCESS;
+ } else {
+ iStatus= FAIL;
+ }
+ } while(0);
+
+ return iStatus;
+}
+
+/*
+comm on 10/7/2003 6.20pm
int ComplexElement::serialize(string &sSerialized)
{
int iStatus= SUCCESS;
@@ -145,6 +191,7 @@
return iStatus;
}
+*/
bool ComplexElement::isSerializable()
{
@@ -174,6 +221,21 @@
return SUCCESS;
}
+int ComplexElement::serializeChildren(SoapSerializer& pSZ)
+{
+
+ list<BasicNode*>::iterator itCurrBasicNode= m_children.begin();
+
+ while(itCurrBasicNode != m_children.end()) {
+ (*itCurrBasicNode)->serialize(pSZ);
+ itCurrBasicNode++;
+ }
+
+ return SUCCESS;
+}
+
+/*
+comm on 10/7/2003 6.20pm
int ComplexElement::serializeChildren(string &sSerialized)
{
@@ -186,3 +248,4 @@
return SUCCESS;
}
+*/
\ No newline at end of file
1.2 +1 -1 xml-axis/c/src/soap/CharacterElement.h
Index: CharacterElement.h
===================================================================
RCS file: /home/cvs/xml-axis/c/src/soap/CharacterElement.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CharacterElement.h 27 Jun 2003 04:46:03 -0000 1.1
+++ CharacterElement.h 15 Jul 2003 07:09:01 -0000 1.2
@@ -77,7 +77,7 @@
class CharacterElement : public BasicNode
{
public:
- int serialize(string& sSerialized);
+ int serialize(SoapSerializer& pSZ);
NODE_TYPE getNodeType();
CharacterElement(const string& sValue);
virtual ~CharacterElement();
1.2 +13 -0 xml-axis/c/src/soap/CharacterElement.cpp
Index: CharacterElement.cpp
===================================================================
RCS file: /home/cvs/xml-axis/c/src/soap/CharacterElement.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CharacterElement.cpp 27 Jun 2003 04:46:03 -0000 1.1
+++ CharacterElement.cpp 15 Jul 2003 07:09:01 -0000 1.2
@@ -66,6 +66,7 @@
//////////////////////////////////////////////////////////////////////
#include "CharacterElement.h"
+#include "SoapSerializer.h"
#include "../common/GDefine.h"
//////////////////////////////////////////////////////////////////////
@@ -88,6 +89,17 @@
return m_iNodeType;
}
+int CharacterElement::serialize(SoapSerializer& pSZ)
+{
+
+ //the serialization code should come here
+ pSZ<< m_sValue.c_str();
+
+ return SUCCESS;
+}
+
+/*
+comm on 10/7/2003 6.10pm
int CharacterElement::serialize(string &sSerialized)
{
@@ -96,3 +108,4 @@
return SUCCESS;
}
+*/
1.2 +3 -1 xml-axis/c/src/soap/BasicNode.h
Index: BasicNode.h
===================================================================
RCS file: /home/cvs/xml-axis/c/src/soap/BasicNode.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BasicNode.h 27 Jun 2003 04:47:21 -0000 1.1
+++ BasicNode.h 15 Jul 2003 07:09:01 -0000 1.2
@@ -74,6 +74,8 @@
#include <string>
+class SoapSerializer;
+
using namespace std;
enum NODE_TYPE { ELEMENT_NODE=1, CHARACTER_NODE};
@@ -81,7 +83,7 @@
class BasicNode
{
public:
- virtual int serialize(string&) =0;
+ virtual int serialize(SoapSerializer& pSZ) =0;
BasicNode();
virtual ~BasicNode();