susantha 2003/08/03 22:06:15
Modified: c/src/wcg BeanClass.h BeanClass.cpp actions.cpp
Log:
improved WCG so that it now generates wsdl
Revision Changes Path
1.5 +1 -0 xml-axis/c/src/wcg/BeanClass.h
Index: BeanClass.h
===================================================================
RCS file: /home/cvs/xml-axis/c/src/wcg/BeanClass.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- BeanClass.h 24 Jul 2003 05:11:34 -0000 1.4
+++ BeanClass.h 4 Aug 2003 05:06:15 -0000 1.5
@@ -79,6 +79,7 @@
class BeanClass
{
public:
+ int GenerateWSDLSchema(File& file);
int GenerateSerializerAndDeSerializerImpl(File& file);
void SetClassName(string &sName);
void AddVariable(Variable* pVar);
1.6 +13 -0 xml-axis/c/src/wcg/BeanClass.cpp
Index: BeanClass.cpp
===================================================================
RCS file: /home/cvs/xml-axis/c/src/wcg/BeanClass.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- BeanClass.cpp 25 Jul 2003 13:49:37 -0000 1.5
+++ BeanClass.cpp 4 Aug 2003 05:06:15 -0000 1.6
@@ -130,3 +130,16 @@
file << endl;
return 0;
}
+
+int BeanClass::GenerateWSDLSchema(File &file)
+{
+ file << "<complexType name=\"" << m_Name << "\">" << endl;
+ file << "<all>"<< endl;
+ for (list<Variable*>::iterator it = m_Variables.begin(); it !=
m_Variables.end(); it++)
+ {
+ (*it)->GenerateWSDLSchema(file);
+ }
+ file << "</all>" << endl;
+ file << "</complexType>" << endl;
+ return 0;
+}
1.4 +41 -1 xml-axis/c/src/wcg/actions.cpp
Index: actions.cpp
===================================================================
RCS file: /home/cvs/xml-axis/c/src/wcg/actions.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- actions.cpp 24 Jul 2003 05:11:34 -0000 1.3
+++ actions.cpp 4 Aug 2003 05:06:15 -0000 1.4
@@ -216,4 +216,44 @@
if (lexer_keys.find(vartypename) == lexer_keys.end())
return false;
return map_var_type(lexer_keys[vartypename]);
-}
\ No newline at end of file
+}
+
+string makeOperatorName(int op)
+{
+ switch( op ) {
+ case PLUS: return string("operator+");
+ case MINUS: return string("operator-");
+ case STAR: return string("operator*");
+ case DIVIDE: return string("operator/");
+ case MOD: return string("operator%");
+ case GREATER: return string("operator>");
+ case LESS: return string("operator<");
+ case EQUAL: return string("operator=");
+ case AND: return string("operator&");
+ case OR: return string("operator|");
+ case NOT: return string("operator!");
+ case XOR: return string("operator^");
+ case COMMA: return string("operator,");
+ case COMPLEMENT: return string("operator~");
+ case PLUSEQ: return string("operator+=");
+ case MINUSEQ: return string("operator-=");
+ case STAREQ: return string("operator*=");
+ case DIVEQ: return string("operator/=");
+ case MODEQ: return string("operator%=");
+ case XOREQ: return string("operator^=");
+ case ANDEQ: return string("operator&=");
+ case OREQ: return string("operator|=");
+ case LTLT: return string("operator<<");
+ case GTGT: return string("operator>>");
+ case GTGTEQ: return string("operator>>=");
+ case LTLTEQ: return string("operator<<=");
+ case EQEQ: return string("operator==");
+ case NOTEQ: return string("operator!=");
+ case LEQ: return string("operator>=");
+ case ANDAND: return string("operator||");
+ case PLUSPLUS: return string("operator++");
+ case MINUSMINUS: return string("operator--");
+ case ARROW: return string("operator->");
+ }
+ return string("");
+}