susantha    2003/09/02 05:03:50

  Modified:    c/src/common ISoapMethod.h IWrapperSoapDeSerializer.h
               c/src/engine Axis.cpp
               c/src/server/samples/webservicewrapper WebServiceWrapper.cpp
                        WebServiceWrapper.h
               c/src/soap SoapDeSerializer.cpp SoapDeSerializer.h
                        SoapMethod.cpp SoapMethod.h XMLStreamHandler.cpp
               c/src/wcg BeanClass.cpp BeanClass.h Deploy.cpp File.h
                        Method.cpp Method.h TranslationUnit.cpp
                        TranslationUnit.h Variable.cpp Variable.h
                        WCGenerator.h WSClass.cpp WSClass.h actions.cpp
                        actions.h cpp.y cpplex.cpp cppyacc.cpp cppyacc.hpp
               c/src/wsdd WSDDDocument.cpp
  Log:
  Updated wrapper class generator according to the new wrapper class generation rules.
  Also did some changes in the code base to support these new wrapper classes
  
  Revision  Changes    Path
  1.6       +3 -3      xml-axis/c/src/common/ISoapMethod.h
  
  Index: ISoapMethod.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/common/ISoapMethod.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ISoapMethod.h     1 Sep 2003 07:28:28 -0000       1.5
  +++ ISoapMethod.h     2 Sep 2003 12:03:49 -0000       1.6
  @@ -73,9 +73,9 @@
   class ISoapMethod
   {
   public:
  -     virtual void setLocalName(const AxisString &localname)=0;
  -     virtual void setUri(const AxisString &uri)=0;
  -     virtual void setPrefix(const AxisString &prefix)=0;
  +     virtual void setLocalName(const AxisChar* localname)=0;
  +     virtual void setUri(const AxisChar* uri)=0;
  +     virtual void setPrefix(const AxisChar* prefix)=0;
        virtual ~ISoapMethod() {};
   };
   
  
  
  
  1.5       +1 -1      xml-axis/c/src/common/IWrapperSoapDeSerializer.h
  
  Index: IWrapperSoapDeSerializer.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/common/IWrapperSoapDeSerializer.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- IWrapperSoapDeSerializer.h        1 Sep 2003 07:28:28 -0000       1.4
  +++ IWrapperSoapDeSerializer.h        2 Sep 2003 12:03:49 -0000       1.5
  @@ -75,7 +75,7 @@
   class IWrapperSoapDeSerializer : public virtual ISoapDeSerializer
   {
   public:
  -     virtual const AxisString& GetMethodName()=0;
  +     virtual const AxisChar* GetMethodName()=0;
        virtual IParam* GetParam()=0;
        virtual int Deserialize(IParam* pIParam, int bHref)=0;
        virtual ~IWrapperSoapDeSerializer() {};
  
  
  
  1.13      +3 -6      xml-axis/c/src/engine/Axis.cpp
  
  Index: Axis.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/engine/Axis.cpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- Axis.cpp  1 Sep 2003 14:33:39 -0000       1.12
  +++ Axis.cpp  2 Sep 2003 12:03:49 -0000       1.13
  @@ -73,7 +73,6 @@
   #include <stdlib.h>
   #include <malloc.h>
   #include "../common/Packet.h"
  -#include "../common/AxisUtils.h"
   #include <string>
   #include <map>
   
  @@ -102,7 +101,7 @@
   #ifdef AXIS_APACHE1_3
   #define WSDDFILEPATH "./Axis/conf/server.wsdd"
   #else
  -#define WSDDFILEPATH "/usr/local/axiscpp/samples/server.wsdd"
  +#define WSDDFILEPATH "/usr/local/axiscpp/axis/server.wsdd"
   #endif
   #endif
   
  @@ -181,16 +180,14 @@
                                                <br>\
                                                <table width=\"400\">", 
str->str.op_stream);
   
  -                                     string sServiceName;
                                        for (iter = pSrvMap->begin();iter != 
pSrvMap->end();iter++)
                                        {
                                                pService = iter->second;
  -                                             AxisUtils::convert(sServiceName, 
pService->GetServiceName().c_str());
                                                send_response_bytes("<tr><td 
width=\"200\">", str->str.op_stream);
  -                                             send_response_bytes((char 
*)sServiceName.c_str(), str->str.op_stream);
  +                                             send_response_bytes((char 
*)pService->GetServiceName().c_str(), str->str.op_stream);
                                                send_response_bytes("</td><td 
width=\"200\"><a href=\"./", str->str.op_stream);
                                                if (bNoSlash) 
send_response_bytes("axis/", str->str.op_stream); 
  -                                             send_response_bytes((char 
*)sServiceName.c_str(), str->str.op_stream);
  +                                             send_response_bytes((char 
*)pService->GetServiceName().c_str(), str->str.op_stream);
                                                send_response_bytes("?wsdl", 
str->str.op_stream);
                                                
send_response_bytes("\">wsdl</a></td>", str->str.op_stream);
                                                send_response_bytes("</tr>", 
str->str.op_stream);
  
  
  
  1.12      +14 -16    
xml-axis/c/src/server/samples/webservicewrapper/WebServiceWrapper.cpp
  
  Index: WebServiceWrapper.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/c/src/server/samples/webservicewrapper/WebServiceWrapper.cpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- WebServiceWrapper.cpp     1 Sep 2003 14:34:02 -0000       1.11
  +++ WebServiceWrapper.cpp     2 Sep 2003 12:03:49 -0000       1.12
  @@ -132,17 +132,16 @@
   {
        IWrapperSoapDeSerializer* pIWrapperSoapDeSerializer;
        mc->getSoapDeSerializer(&pIWrapperSoapDeSerializer);
  -     AxisString method = pIWrapperSoapDeSerializer->GetMethodName();
  -
  -     if ((method == L"Echo") || (method == L"echo"))
  +     const AxisChar* method = pIWrapperSoapDeSerializer->GetMethodName();
  +     if (0 == wcscmp(method, L"Echo"))
                return Echo(mc);
  -     else if ((method == L"Add") || (method == L"add"))
  +     else if (0 == wcscmp(method, L"Add"))
                return Add(mc);
  -     else if (method == L"EchoIntArray")
  +     else if (0 == wcscmp(method, L"EchoIntArray"))
                return EchoIntArray(mc);
  -     else if (method == L"AddPoint")
  +     else if (0 == wcscmp(method, L"AddPoint"))
                return AddPoint(mc);
  -     else if (method == L"EchoPointArray")
  +     else if (0 == wcscmp(method, L"EchoPointArray"))
                return EchoPointArray(mc);
        return FAIL;
   }
  @@ -159,12 +158,11 @@
   
   int webservicewrapper::SetResponseMethod(IMessageData* mc, const AxisChar* name)
   {
  -     AxisString method = name;       
        IWrapperSoapSerializer* pIWSz = NULL;
        mc->getSoapSerializer(&pIWSz);
        if (!pIWSz) return FAIL;
        ISoapMethod* pMethod= pIWSz->createSoapMethod();
  -     pMethod->setLocalName(method + L"Response");
  +     pMethod->setLocalName(name);
        pMethod->setPrefix(L"m");
        pMethod->setUri(L"http://www.opensource.lk";);
        return SUCCESS;
  @@ -173,7 +171,7 @@
   
   int webservicewrapper::Echo(IMessageData* mc)
   {
  -     SetResponseMethod(mc, L"Echo");
  +     SetResponseMethod(mc, L"EchoResponse");
        IWrapperSoapDeSerializer* pIWrapperSoapDeSerializer;
        mc->getSoapDeSerializer(&pIWrapperSoapDeSerializer);
        IParam *param1 = pIWrapperSoapDeSerializer->GetParam();
  @@ -192,7 +190,7 @@
   
   int webservicewrapper::Add(IMessageData* mc)
   {
  -     SetResponseMethod(mc, L"Add");
  +     SetResponseMethod(mc, L"AddResponse");
        IWrapperSoapDeSerializer* pIWrapperSoapDeSerializer;
        mc->getSoapDeSerializer(&pIWrapperSoapDeSerializer);
        IParam *param1 = pIWrapperSoapDeSerializer->GetParam();
  @@ -217,7 +215,7 @@
   
   int webservicewrapper::EchoIntArray(IMessageData *mc)
   {
  -     SetResponseMethod(mc, L"EchoIntArray");
  +     SetResponseMethod(mc, L"EchoIntArrayResponse");
        IWrapperSoapDeSerializer* pIWrapperSoapDeSerializer;
        mc->getSoapDeSerializer(&pIWrapperSoapDeSerializer);
        IParam *param1 = pIWrapperSoapDeSerializer->GetParam();
  @@ -248,7 +246,7 @@
        IWrapperSoapDeSerializer* pIWSDZ = NULL;
        mc->getSoapDeSerializer(&pIWSDZ);
        if (!pIWSDZ) return FAIL;
  -     SetResponseMethod(mc, L"AddPoint");
  +     SetResponseMethod(mc, L"AddPointResponse");
   
        IParam *param0 = pIWSDZ->GetParam();
        Point* v0 = new Point();
  @@ -265,14 +263,14 @@
        //Call actual web service method with appropriate parameters
        Point* ret = pWs->AddPoint(v0, v1);
   
  -     IParam* pRetParam = pIWSSZ->setResponseParam(ret, 
(void*)(AXIS_SERIALIZE_FUNCT)Axis_Serialize_Point, 
(void*)(AXIS_OBJECT_DELETE_FUNCT)Axis_Delete_Point);
  +     IParam* pRetParam = pIWSSZ->setResponseParam(ret, 
(AXIS_SERIALIZE_FUNCT)Axis_Serialize_Point, 
(AXIS_OBJECT_DELETE_FUNCT)Axis_Delete_Point);
        pRetParam->SetName(L"AddPointReturn");
        return SUCCESS;
   }
   
   int webservicewrapper::EchoPointArray(IMessageData *mc)
   {
  -     SetResponseMethod(mc, L"EchoPointArray");
  +     SetResponseMethod(mc, L"EchoPointArrayResponse");
        IWrapperSoapDeSerializer* pIWrapperSoapDeSerializer;
        mc->getSoapDeSerializer(&pIWrapperSoapDeSerializer);
        IParam *param1 = pIWrapperSoapDeSerializer->GetParam();
  @@ -283,7 +281,7 @@
        Point* pRet = pWs->EchoPointArray(size, arr,&size);
        IWrapperSoapSerializer* pIWSz;
        mc->getSoapSerializer(&pIWSz);
  -     IArrayBean* pAb = pIWSz->makeArrayBean((void*)pRet, 
(void*)(AXIS_SERIALIZE_FUNCT)Axis_Serialize_Point, 
(void*)(AXIS_OBJECT_DELETE_FUNCT)Axis_Delete_Point, 
(void*)(AXIS_OBJECT_SIZE_FUNCT)Axis_GetSize_Point);
  +     IArrayBean* pAb = pIWSz->makeArrayBean((void*)pRet, 
(AXIS_SERIALIZE_FUNCT)Axis_Serialize_Point, 
(AXIS_OBJECT_DELETE_FUNCT)Axis_Delete_Point, 
(AXIS_OBJECT_SIZE_FUNCT)Axis_GetSize_Point);
        pAb->AddDimension(size);
        pAb->SetItemName(L"item");
        pAb->SetTypeName(L"Point");
  
  
  
  1.5       +0 -4      
xml-axis/c/src/server/samples/webservicewrapper/WebServiceWrapper.h
  
  Index: WebServiceWrapper.h
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/c/src/server/samples/webservicewrapper/WebServiceWrapper.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- WebServiceWrapper.h       1 Sep 2003 07:28:29 -0000       1.4
  +++ WebServiceWrapper.h       2 Sep 2003 12:03:49 -0000       1.5
  @@ -73,10 +73,6 @@
   #include "../../../common/IMessageData.h"
   #include "../../../common/GDefine.h"
   
  -#include <string>
  -
  -using namespace std;
  -
   class webservicewrapper : public WrapperClassHandler 
   {
   public:
  
  
  
  1.10      +3 -1      xml-axis/c/src/soap/SoapDeSerializer.cpp
  
  Index: SoapDeSerializer.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/soap/SoapDeSerializer.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SoapDeSerializer.cpp      1 Sep 2003 07:28:29 -0000       1.9
  +++ SoapDeSerializer.cpp      2 Sep 2003 12:03:49 -0000       1.10
  @@ -182,7 +182,9 @@
        return SUCCESS;
   }
   
  -const AxisString& SoapDeSerializer::GetMethodName()
  +
  +
  +const AxisChar* SoapDeSerializer::GetMethodName()
   {
        if (m_pHandler->m_pMethod)
        {
  
  
  
  1.12      +1 -1      xml-axis/c/src/soap/SoapDeSerializer.h
  
  Index: SoapDeSerializer.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/soap/SoapDeSerializer.h,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- SoapDeSerializer.h        1 Sep 2003 07:28:29 -0000       1.11
  +++ SoapDeSerializer.h        2 Sep 2003 12:03:49 -0000       1.12
  @@ -88,7 +88,7 @@
        char m_hugebuffer[HUGE_BUFFER_SIZE];
   public:
        int GetVersion();
  -     const AxisString& GetMethodName();
  +     const AxisChar* GetMethodName();
        int Init();
        IParam* GetParam();
        int Deserialize(IParam* pIParam, int bHref);
  
  
  
  1.10      +8 -8      xml-axis/c/src/soap/SoapMethod.cpp
  
  Index: SoapMethod.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/soap/SoapMethod.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SoapMethod.cpp    27 Aug 2003 12:16:36 -0000      1.9
  +++ SoapMethod.cpp    2 Sep 2003 12:03:49 -0000       1.10
  @@ -94,19 +94,19 @@
        if (m_pOutputParam) delete m_pOutputParam;
   }
   
  -void SoapMethod::setPrefix(const AxisString &prefix)
  +void SoapMethod::setPrefix(const AxisChar* prefix)
   {
  -     m_strPrefix = prefix.c_str();
  +     m_strPrefix = prefix;
   }
   
  -void SoapMethod::setLocalName(const AxisString &localname)
  +void SoapMethod::setLocalName(const AxisChar* localname)
   {
  -     m_strLocalname = localname.c_str();
  +     m_strLocalname = localname;
   }
   
  -void SoapMethod::setUri(const AxisString &uri)
  +void SoapMethod::setUri(const AxisChar* uri)
   {
  -     m_strUri = uri.c_str();
  +     m_strUri = uri;
   }
   
   void SoapMethod::addInputParam(Param *param)
  @@ -232,9 +232,9 @@
   }
   */
   
  -const AxisString& SoapMethod::getMethodName()
  +const AxisChar* SoapMethod::getMethodName()
   {
  -     return m_strLocalname;
  +     return m_strLocalname.c_str();
   }
   
   bool SoapMethod::isSerializable()
  
  
  
  1.9       +4 -4      xml-axis/c/src/soap/SoapMethod.h
  
  Index: SoapMethod.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/soap/SoapMethod.h,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SoapMethod.h      1 Sep 2003 07:28:29 -0000       1.8
  +++ SoapMethod.h      2 Sep 2003 12:03:49 -0000       1.9
  @@ -117,14 +117,14 @@
   
   public:                      
        int addAttribute(Attribute* pAttribute);
  -     const AxisString& getMethodName();      
  +     const AxisChar* getMethodName();        
        int serialize(SoapSerializer& pSZ);
        //int serialize(string&);
        void setOutputParam(Param *param);
        void addInputParam(Param* param);
  -     void setUri(const AxisString &uri);
  -     void setLocalName(const AxisString &localname);
  -     void setPrefix(const AxisString &prefix);
  +     void setUri(const AxisChar* uri);
  +     void setLocalName(const AxisChar* localname);
  +     void setPrefix(const AxisChar* prefix);
        SoapMethod();
        virtual ~SoapMethod();  
   };
  
  
  
  1.9       +34 -35    xml-axis/c/src/soap/XMLStreamHandler.cpp
  
  Index: XMLStreamHandler.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/soap/XMLStreamHandler.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- XMLStreamHandler.cpp      1 Sep 2003 13:44:39 -0000       1.8
  +++ XMLStreamHandler.cpp      2 Sep 2003 12:03:49 -0000       1.9
  @@ -68,7 +68,6 @@
   #include "Attribute.h"
   #include "SoapEnvVersions.h"
   #include "CharacterElement.h"
  -#include <wchar.h>
   
   #define __TRC(X) XMLString::transcode(X)
   #define __REL(X) XMLString::release(X)
  @@ -115,7 +114,7 @@
        switch (m_PL0)
        {
        case SOAP_UNKNOWN:
  -     if(0 == wcscmp((wchar_t*) 
localname,SoapKeywordMapping::Map(m_nSoapVersion).pchWords[SKW_ENVELOPE]))
  +     if(0 == 
wcscmp(localname,SoapKeywordMapping::Map(m_nSoapVersion).pchWords[SKW_ENVELOPE]))
        {
                m_PL0 = SOAP_ENVELOP;
                m_pEnv = new SoapEnvelope();
  @@ -124,21 +123,21 @@
        }
        break;
        case SOAP_ENVELOP:
  -     if(0 == wcscmp((wchar_t*) 
localname,SoapKeywordMapping::Map(m_nSoapVersion).pchWords[SKW_BODY]))
  +     if(0 == 
wcscmp(localname,SoapKeywordMapping::Map(m_nSoapVersion).pchWords[SKW_BODY]))
        {
                m_PL0 = SOAP_BODY;
                m_pBody = new SoapBody();
                //set all attributes of SoapBody
                FillBody(uri,localname,qname,attrs);    
        }
  -     else if (0 == wcscmp((wchar_t*) 
localname,SoapKeywordMapping::Map(m_nSoapVersion).pchWords[SKW_HEADER]))
  +     else if (0 == 
wcscmp(localname,SoapKeywordMapping::Map(m_nSoapVersion).pchWords[SKW_HEADER]))
        {
                m_PL0 = SOAP_HEADER;
                m_pHead = new SoapHeader();
                //set all attributes of SoapHeader
                FillHeader(uri,localname,qname,attrs);
        }
  -     else if (0 == wcscmp((wchar_t*) 
localname,SoapKeywordMapping::Map(m_nSoapVersion).pchWords[SKW_FAULT]))
  +     else if (0 == 
wcscmp(localname,SoapKeywordMapping::Map(m_nSoapVersion).pchWords[SKW_FAULT]))
        {
                //m_PL0 = SOAP_FAULT;
                //m_pFault = SoapFault::getSoapFault(1);
  @@ -161,9 +160,9 @@
                switch (m_PL1)
                {
                case SOAP_UNKNOWN:
  -                     if (0 == wcscmp((wchar_t*) 
localname,SoapKeywordMapping::Map(m_nSoapVersion).pchWords[SKW_MULTIREF]))
  +                     if (0 == 
wcscmp(localname,SoapKeywordMapping::Map(m_nSoapVersion).pchWords[SKW_MULTIREF]))
                        {
  -                             m_sLastElement = (wchar_t*) localname;
  +                             m_sLastElement = localname;
                                SetParamType(attrs); 
                                m_PL1 = SOAP_PARAM;
                        }
  @@ -177,18 +176,18 @@
                case SOAP_METHOD: //now comes parameters
                        //Get Param name and type
                        //m_Param.m_sName = localname;
  -                     m_sLastElement = (wchar_t*) localname;
  +                     m_sLastElement = localname;
                        SetParamType(attrs); 
                        m_PL1 = SOAP_PARAM;
                        m_nParamNestingLevel++;
                        break;
                case SOAP_PARAM: //Custom types
  -                     if (m_sLastElement != (wchar_t*) localname)
  +                     if (m_sLastElement != localname)
                        {
                                m_Params.push_back(new Param(m_Param)); //parent param
                        }
                        //m_Param.m_sName = localname;
  -                     m_sLastElement = (wchar_t*) localname;
  +                     m_sLastElement = localname;
                        SetParamType(attrs); 
                        m_nParamNestingLevel++;
                        break;
  @@ -217,7 +216,7 @@
                break;
        case SOAP_PARAM: //end of a parameter
                //Add parameter to list
  -             if (m_sLastElement == (wchar_t*) localname)
  +             if (m_sLastElement == localname)
                {
                        m_Params.push_back(new Param(m_Param)); //current param
                }
  @@ -240,23 +239,23 @@
        if ((m_PL0 == SOAP_BODY) && (m_PL1 == SOAP_PARAM)) //Make this a switch 
statement if many cases to be handled
        {
                //Get value of the parameter
  -             m_Param.SetValue((wchar_t*) chars);
  +             m_Param.SetValue(chars);
        } else if ((m_PL0 == SOAP_HEADER) && (m_PL1 == SOAP_HEADER_BLOCK)) 
        {
                //Get the value of the header entry
  -             CharacterElement* pCharacterElement= new CharacterElement((wchar_t*) 
chars);
  +             CharacterElement* pCharacterElement= new CharacterElement(chars);
                m_pHeaderBlock->addChild(pCharacterElement);
        }
   }
   
   void XMLStreamHandler::startPrefixMapping(const XMLCh* const prefix, const XMLCh* 
const uri)
   {
  -     m_NsStack[(wchar_t*) prefix] = (wchar_t*) uri; //I think the same prifix 
cannot repeat ???
  +     m_NsStack[prefix] = uri; //I think the same prifix cannot repeat ???
   }
   
   void XMLStreamHandler::endPrefixMapping(const XMLCh* const prefix)
   {
  -     m_NsStack.erase((wchar_t*) prefix); //I think the same prifix cannot repeat ???
  +     m_NsStack.erase(prefix); //I think the same prifix cannot repeat ???
   }
   
   void XMLStreamHandler::warning(const SAXParseException& exception)
  @@ -285,9 +284,9 @@
        m_Param.m_Type = XSD_UNKNOWN; 
        for (int i = 0; i < attrs.getLength(); i++) 
        {
  -             const AxisChar* URI = (wchar_t*) attrs.getURI(i); 
  -             const AxisChar* local = (wchar_t*) attrs.getLocalName(i);
  -             AxisString value = (wchar_t*) attrs.getValue(i);
  +             const AxisChar* URI = attrs.getURI(i); 
  +             const AxisChar* local = attrs.getLocalName(i);
  +             AxisString value = attrs.getValue(i);
                URITYPE urit = URIMapping::Map(URI);
                switch (urit)
                {
  @@ -467,7 +466,7 @@
   {
        AxisString str;
        Attribute* pAttr;
  -     str = (wchar_t*) qname;
  +     str = qname;
        pAttr = new Attribute();
        if (str.find(L':') != AxisString::npos) 
        {
  @@ -475,14 +474,14 @@
                m_pEnv->setPrefix(str.c_str());
                pAttr->setPrefix(str.c_str());
        }
  -     pAttr->setValue((wchar_t*) uri);
  +     pAttr->setValue(uri);
        m_pEnv->addNamespaceDecl(pAttr);
   
  -     if (0 == wcscmp((wchar_t*) uri, 
SoapKeywordMapping::Map(SOAP_VER_1_1).pchNamespaceUri))
  +     if (0 == wcscmp(uri, SoapKeywordMapping::Map(SOAP_VER_1_1).pchNamespaceUri))
        {
                m_nSoapVersion = SOAP_VER_1_1;
        }
  -     else if (0 == wcscmp((wchar_t*) uri, 
SoapKeywordMapping::Map(SOAP_VER_1_2).pchNamespaceUri))
  +     else if (0 == wcscmp(uri, 
SoapKeywordMapping::Map(SOAP_VER_1_2).pchNamespaceUri))
        {
                m_nSoapVersion = SOAP_VER_1_2;
        }
  @@ -496,10 +495,10 @@
        for (unsigned int ix=0;ix<nAttrs;ix++)
        {
                pAttr = new Attribute();
  -             pAttr->setPrefix((wchar_t*) attrs.getQName(ix));
  -             pAttr->setValue((wchar_t*) attrs.getValue(ix));
  -             pAttr->setLocalName((wchar_t*) attrs.getLocalName(ix));
  -             pAttr->setUri((wchar_t*) attrs.getURI(ix));
  +             pAttr->setPrefix(attrs.getQName(ix));
  +             pAttr->setValue(attrs.getValue(ix));
  +             pAttr->setLocalName(attrs.getLocalName(ix));
  +             pAttr->setUri(attrs.getURI(ix));
                m_pEnv->addAttribute(pAttr);    
        }
   }
  @@ -521,16 +520,16 @@
   
   void XMLStreamHandler::FillMethod(const XMLCh *const uri, const XMLCh *const 
localname, const XMLCh *const qname, const Attributes &attrs)
   {
  -     AxisString str = (wchar_t*) qname;
  +     AxisString str = qname;
        if (str.find(':') != AxisString::npos) 
        {
                str = str.substr(0, str.find(L':'));
  -             m_pMethod->setPrefix(str);
  -             str = (wchar_t*) uri;
  -             m_pMethod->setUri(str);
  +             m_pMethod->setPrefix(str.c_str());
  +             str = uri;
  +             m_pMethod->setUri(str.c_str());
        }
  -     str = (wchar_t*) localname;
  -     m_pMethod->setLocalName(str);
  +     str = localname;
  +     m_pMethod->setLocalName(str.c_str());
   /*
        //Set Attributes
        unsigned int nAttrs = attrs.getLength();
  @@ -567,12 +566,12 @@
   {
        m_pHeaderBlock= new HeaderBlock();
        AxisString str; 
  -     str = (wchar_t*) qname;
  +     str = qname;
        if (str.find(L':') != AxisString::npos) 
        {
                str = str.substr(0, str.find(L':'));
                m_pHeaderBlock->setPrefix(str.c_str());         
        }
  -     m_pHeaderBlock->setLocalName((wchar_t*) localname);
  -     m_pHeaderBlock->setUri((wchar_t*) uri);
  +     m_pHeaderBlock->setLocalName(localname);
  +     m_pHeaderBlock->setUri(uri);
   }
  
  
  
  1.8       +25 -10    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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- BeanClass.cpp     5 Aug 2003 05:29:39 -0000       1.7
  +++ BeanClass.cpp     2 Sep 2003 12:03:50 -0000       1.8
  @@ -98,10 +98,12 @@
   int BeanClass::GenerateSerializerAndDeSerializerImpl(File &file)
   {
        list<Variable*>::iterator it;
  -
  -     file << "int " << m_Name << "::DeSerialize(IWrapperSoapDeSerializer *pDZ)" << 
endl;
  +     file << "//Parameters and wrapper methos to manipulate Point" << endl;
  +     file << "static const AxisChar* Axis_URI_" << m_Name << " = 
L\"http://www.opensource.lk/"; << m_Name << "\";" << endl;
  +     file << "static const AxisChar* Axis_TypeName_" << m_Name << " = L\"" << 
m_Name << "\";" << endl;
  +     file << endl;
  +     file << "int Axis_DeSerialize_" << m_Name << "(" << m_Name << "* p, 
IWrapperSoapDeSerializer *pDZ)" << endl;
        file << "{" << endl;
  -     file << "\tIParam* pHeadParam = pDZ->GetParam(); //do any type validation here 
if necessary" << endl;
        for (it = m_Variables.begin(); it != m_Variables.end(); it++)
        {
                (*it)->GenerateDeserializerImpl(file);
  @@ -110,25 +112,38 @@
        file << "}" << endl;
        file << endl;
   
  -     file << "int " << m_Name << "::Serialize(IWrapperSoapSerializer& pSZ)" << endl;
  +     file << "int Axis_Serialize_" << m_Name <<  "(" << m_Name << "* p, 
IWrapperSoapSerializer& pSZ, bool bArray = false)" << endl;
        file << "{" << endl;
  -     file << "\tm_URI = \"" << g_ClassNamespaces[m_Name] << "\";" << endl;
  -     file << "\tstring sPrefix = pSZ.getNewNamespacePrefix();" << endl;
  -     file << "\tm_TypeName = \"" << m_Name << "\";" << endl;
  -     file << "\tpSZ << \"<\" << m_TypeName.c_str() << \" xsi:type=\\\"\" << 
sPrefix.c_str() <<\":\" << m_TypeName.c_str() << \" xmlns:\" << sPrefix.c_str() << 
\"=\\\"\" << m_URI.c_str() << \"\\\">\";" << endl;
  +     file << "\tif (bArray)" << endl;
  +     file << "\t{" << endl;
  +     file << "\tpSZ << \"<\" << Axis_TypeName_" << m_Name << " << \">\";" << endl;
  +     file << "\t}" << endl;
  +     file << "\telse" << endl;
  +     file << "\t{" << endl;
  +     file << "\t\tconst AxisChar* sPrefix = pSZ.getNewNamespacePrefix();" << endl;
  +//   file << "\tm_URI = L\"" << g_ClassNamespaces[m_Name] << "\";" << endl;
  +     file << "\t\tpSZ << \"<\" << Axis_TypeName_" << m_Name << "<< \" 
xsi:type=\\\"\" << sPrefix <<\":\" << Axis_TypeName_" << m_Name << " << \" xmlns:\" << 
sPrefix << \"=\\\"\" << Axis_URI_" << m_Name << " << \"\\\">\";" << endl;
  +     file << "\t}" << endl;
        for (it = m_Variables.begin(); it != m_Variables.end(); it++)
        {
                (*it)->GenerateSerializerImpl(file);
        }       
  -     file << "\tpSZ << \"</\" << m_TypeName.c_str() << \">\";" << endl;
  +     file << "\tpSZ << \"</\" << Axis_TypeName_" << m_Name << " << \">\";" << endl;
        file << "\treturn SUCCESS;" << endl;
        file << "}" << endl;
        file << endl;
  -     file << "int " << m_Name << "::GetSize()" << endl;
  +     file << "int Axis_GetSize_" << m_Name << "(" << m_Name << "* p)" << endl;
        file << "{" << endl;
        file << "\treturn sizeof(" << m_Name <<");" << endl;
        file << "}" << endl;
        file << endl;
  +     file << "void Axis_Delete_" << m_Name << "(" << m_Name << "* p, bool bArray = 
false, int nSize=0)" << endl;
  +     file << "{" << endl;
  +     file << "\tif (bArray)" << endl;
  +     file << "\t\tdelete [] p;" << endl;
  +     file << "else" << endl;
  +     file << "delete p;" << endl;
  +     file << "}" << endl;
        return 0;
   }
   
  
  
  
  1.6       +0 -4      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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- BeanClass.h       4 Aug 2003 05:06:15 -0000       1.5
  +++ BeanClass.h       2 Sep 2003 12:03:50 -0000       1.6
  @@ -67,10 +67,6 @@
   #if !defined(AFX_BEANCLASS_H__C3C03EED_58AF_427E_B7D3_7AE4E0624687__INCLUDED_)
   #define AFX_BEANCLASS_H__C3C03EED_58AF_427E_B7D3_7AE4E0624687__INCLUDED_
   
  -#if _MSC_VER > 1000
  -#pragma once
  -#endif // _MSC_VER > 1000
  -
   #include "Variable.h"
   
   #include <list>
  
  
  
  1.6       +17 -8     xml-axis/c/src/wcg/Deploy.cpp
  
  Index: Deploy.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/Deploy.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Deploy.cpp        4 Aug 2003 05:11:04 -0000       1.5
  +++ Deploy.cpp        2 Sep 2003 12:03:50 -0000       1.6
  @@ -29,6 +29,7 @@
   
   string g_sServiceFile = "";
   string g_sWsFileName = "";
  +string g_sWebServiceClass = "";
   list<string> g_sLibraryPaths;
   list<string> g_sAxisIncludePaths;
   list<string> g_sCompiledLibs;
  @@ -93,6 +94,9 @@
                        case 'D':
                                bDontDeleteSourceFiles = true;
                                break;
  +                     case 'S':
  +                             g_sWebServiceClass = optval;
  +                             break;
                        default:
                                usage();
                        }
  @@ -128,13 +132,12 @@
        cout << "Parsing web service header file ..." ; 
        init_keyword_map();
        //add predefined classes to the list so that parser recognizes them
  -     g_classesfound.push_back("IAccessBean");
        //Change directory to the directory where the initial web service header file 
is 
        getcwd(currentdir, DIRPATHLENGTH);
        chdir(g_sWsFileName.substr(0, g_sWsFileName.find_last_of('/')).c_str());
        //parse wsdd files
        //parse web service header files
  -     if (parse_header_file(g_sWsFileName.c_str()))
  +     if (parse_header_file(g_sWsFileName.substr(g_sWsFileName.find_last_of('/')+1, 
string::npos).c_str()))
        {
                cout << "Failed" << endl;
                exit(0);
  @@ -225,7 +228,7 @@
        command += "*.o *.a ";
   #endif
        if (!bDontDeleteSourceFiles)
  -     {
  +     {
                command += "*.cpp *.hpp";
        }
        system(command.c_str());
  @@ -236,18 +239,22 @@
   int parse_header_file(const char *filename)
   {
        int error = 0;
  -     if (filename) {
  -             if (yyin = fopen( filename, "r" )) {
  +     if (filename) 
  +     {
  +             if (yyin = fopen( filename, "r" )) 
  +             {
                        error = yyparse();
                        if ( error ) { fclose(yyin); return 1;}
                        fclose(yyin);
                        return 0;
                }
  -             else {
  +             else 
  +             {
                        return 2;
                }
        }
  -     else {
  +     else 
  +     {
                return 3;
        }
   }
  @@ -257,10 +264,11 @@
        cout << "Generates the depoyable web services for Axis C++ using webservice's 
header file(s) and the static libraries" << endl;
        cout << "Usage: wcg " << endl;
   //   cout << "\t/c<Compiler to use>" << endl;
  -     cout << "\t" << OPTIONTAG << "I<path to axis include directory>" << endl;
  +     cout << "\t" << OPTIONTAG << "I<path to include directory>" << endl;
        cout << "\t" << OPTIONTAG << "L<path to web service static library directory" 
<< endl;
        cout << "\t" << OPTIONTAG << "l<web service static library file>" << endl;
        cout << "\t" << OPTIONTAG << "D<do not delete intermediate source files>" << 
endl;
  +     cout << "\t" << OPTIONTAG << "S<web service class name>" << endl;
        cout << "\t" << OPTIONTAG << "o<output file (service name)>" << endl;
        cout << "\t<web service header file>" << endl;
        cout << endl;
  @@ -277,6 +285,7 @@
   {
        if (g_sServiceFile == "") return false;
        if (g_sWsFileName == "") return false;
  +     if (g_sWebServiceClass == "") return false;
        if (g_sLibraryPaths.empty()) return false;
        if (g_sAxisIncludePaths.empty()) return false;
        if (g_sCompiledLibs.empty()) return false;
  
  
  
  1.2       +0 -4      xml-axis/c/src/wcg/File.h
  
  Index: File.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/File.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- File.h    1 Jul 2003 10:50:11 -0000       1.1
  +++ File.h    2 Sep 2003 12:03:50 -0000       1.2
  @@ -5,10 +5,6 @@
   #if !defined(AFX_FILE_H__E30356C1_DD4A_4FCF_A529_713455BB6E02__INCLUDED_)
   #define AFX_FILE_H__E30356C1_DD4A_4FCF_A529_713455BB6E02__INCLUDED_
   
  -#if _MSC_VER > 1000
  -#pragma once
  -#endif // _MSC_VER > 1000
  -
   #include <string>
   #include <fstream>
   using namespace std;
  
  
  
  1.8       +19 -9     xml-axis/c/src/wcg/Method.cpp
  
  Index: Method.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/Method.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Method.cpp        5 Aug 2003 05:29:39 -0000       1.7
  +++ Method.cpp        2 Sep 2003 12:03:50 -0000       1.8
  @@ -145,7 +145,7 @@
        file << "\tIWrapperSoapDeSerializer* pIWSDZ = NULL;" << endl;
        file << "\tmc->getSoapDeSerializer(&pIWSDZ);" << endl;
        file << "\tif (!pIWSDZ) return FAIL;" << endl;
  -     file << "\tSetResponseMethod(mc, \"" << m_Name << "\");" << endl;
  +     file << "\tSetResponseMethod(mc, L\"" << m_Name << "Response\");" << endl;
        int nParam = 0;
        for (list<Variable*>::iterator it = m_Params.begin(); it != m_Params.end(); 
it++)
        {
  @@ -154,7 +154,9 @@
                if ((*it)->IsComplexType())
                {
                        file << "\t" << (*it)->GetTypeName() << "* v" << nParam << " = 
new " << (*it)->GetTypeName() << "();" << endl;
  -                     file << "\tparam" << nParam << "->" << "SetUserType(" << "v" 
<< nParam << ");" << endl; 
  +                     file << "\tparam" << nParam << "->" << "SetUserType(" << "v" 
<< nParam <<
  +                             ", (AXIS_DESERIALIZE_FUNCT)Axis_DeSerialize_" << 
(*it)->GetTypeName() <<
  +                             ", (AXIS_OBJECT_DELETE_FUNCT)Axis_Delete_" << 
(*it)->GetTypeName() << ");" << endl; 
                        file << "\tpIWSDZ->Deserialize(param" << nParam << ",0);" << 
endl; // 0 should be changed to 1 if multiref to be used                   
                }
                else if ((*it)->IsArrayType())
  @@ -182,15 +184,23 @@
        }
        file << ");" << endl;
        file << endl;
  -     file << "\tuParamValue value;" << endl;
  -     file << "\tvalue." << m_pReturnType->GetCorrespondingUnionMemberName() << " = 
ret";
  -     if (m_pReturnType->GetType() == VAR_STRING)
  +     if (m_pReturnType->IsComplexType()) 
  +     {
  +             file << "\tIParam* pRetParam = pIWSSZ->setResponseParam(ret, 
(AXIS_SERIALIZE_FUNCT)Axis_Serialize_" <<
  +             m_pReturnType->GetTypeName() << ", 
(AXIS_OBJECT_DELETE_FUNCT)Axis_Delete_" << m_pReturnType->GetTypeName() << ");" << 
endl;             
  +     }
  +     else
        {
  -             file << ".c_str()";
  +             file << "\tuParamValue value;" << endl;
  +             file << "\tvalue." << m_pReturnType->GetCorrespondingUnionMemberName() 
<< " = ret";
  +             if (m_pReturnType->GetType() == VAR_STRING)
  +             {
  +                     file << ".c_str()";
  +             }
  +             file << ";" << endl;
  +             file << "\tIParam* pRetParam = pIWSSZ->setResponseParam(" << 
m_pReturnType->GetTypeEnumStr() << ", value);" << endl;
        }
  -     file << ";" << endl;
  -     file << "\tIParam* pRetParam = pIWSSZ->setResponseParam(" << 
m_pReturnType->GetTypeEnumStr() << ", value);" << endl;
  -     file << "\tpRetParam->SetName(\"" << m_Name << "Return\");" << endl;
  +     file << "\tpRetParam->SetName(L\"" << m_Name << "Return\");" << endl;
        file << "\treturn SUCCESS;" << endl; 
        file << "}" << endl;
        file << endl;
  
  
  
  1.6       +0 -4      xml-axis/c/src/wcg/Method.h
  
  Index: Method.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/Method.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Method.h  4 Aug 2003 05:03:49 -0000       1.5
  +++ Method.h  2 Sep 2003 12:03:50 -0000       1.6
  @@ -68,10 +68,6 @@
   #if !defined(AFX_METHOD_H__87FCCB11_EF9C_409E_81F6_99F054B5E609__INCLUDED_)
   #define AFX_METHOD_H__87FCCB11_EF9C_409E_81F6_99F054B5E609__INCLUDED_
   
  -#if _MSC_VER > 1000
  -#pragma once
  -#endif // _MSC_VER > 1000
  -
   #include "Variable.h"
   #include "File.h"
   #include <list>
  
  
  
  1.6       +8 -14     xml-axis/c/src/wcg/TranslationUnit.cpp
  
  Index: TranslationUnit.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/TranslationUnit.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TranslationUnit.cpp       5 Aug 2003 05:29:39 -0000       1.5
  +++ TranslationUnit.cpp       2 Sep 2003 12:03:50 -0000       1.6
  @@ -151,10 +151,13 @@
                file << endl;
                //add includes
                file << "#include \"" << m_sWsFileName.c_str() << "\"" << endl;
  -             file << "#include \"common/WrapperClassHandler.h\"" << endl;
  -             file << "#include \"common/IMessageData.h\"" << endl;
  -             file << "#include \"common/GDefine.h\"" << endl;
  -             file << "#include \"common/IAccessBean.h\"" << endl;
  +             file << "#include <WrapperClassHandler.h>" << endl;
  +             file << "#include <IMessageData.h>" << endl;
  +             file << "#include <GDefine.h>" << endl;
  +             file << "#include <IWrapperSoapDeSerializer.h>" << endl;
  +             file << "#include <IWrapperSoapSerializer.h>" << endl;
  +             file << "#include <ISoapMethod.h>" << endl;
  +             file << "#include <IParam.h>" << endl;
                file << endl;
                //generate wrapper class declaration
                m_pWSClass->GenerateClassDef(file);
  @@ -182,14 +185,6 @@
                file << "//Web service wrapper class's implementation generated by 
Axis WCG" << endl;
                file << "#include \"" << m_pWSClass->GetName() << ".hpp\"" << endl;
                file << endl;
  -             //add includes
  -             file << "#include \"common/IWrapperSoapDeSerializer.h\"" << endl;
  -             file << "#include \"common/IWrapperSoapSerializer.h\"" << endl;
  -             file << "#include \"common/ISoapMethod.h\"" << endl;
  -             file << "#include \"common/IParam.h\"" << endl;
  -
  -             file << "#include <string>" << endl;
  -             file << "using namespace std;" << endl;
                file << endl;
                //generate serializers and deserializers for bean classes
                for (list<BeanClass*>::iterator it = m_Beans.begin(); it != 
m_Beans.end(); it++)
  @@ -198,7 +193,6 @@
                }
                //generate wrapper class's methods
                m_pWSClass->GenerateClassImpl(file);
  -             //generate IAccessBean implementations for bean classes
                file << endl;
        }
        catch(...) //any exception
  @@ -272,7 +266,7 @@
                file << "{" << endl;
                file << "\tif (inst) " << endl;
                file << "\t{" << endl;
  -             file << "\t\tWrapperClassHandler* pWCH = 
reinterpret_cast<WrapperClassHandler*>(inst);" << endl;
  +             file << "\t\tWrapperClassHandler* pWCH = 
static_cast<WrapperClassHandler*>(inst);" << endl;
                file << "\t\tpWCH->Fini();" << endl;
                file << "\t\tdelete pWCH;" << endl;
                file << "\t\treturn SUCCESS;" << endl;
  
  
  
  1.5       +0 -4      xml-axis/c/src/wcg/TranslationUnit.h
  
  Index: TranslationUnit.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/TranslationUnit.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TranslationUnit.h 4 Aug 2003 05:03:49 -0000       1.4
  +++ TranslationUnit.h 2 Sep 2003 12:03:50 -0000       1.5
  @@ -68,10 +68,6 @@
   #if !defined(AFX_HEADERFILE_H__322DAFBA_5048_4D34_9047_A93AEE351DD2__INCLUDED_)
   #define AFX_HEADERFILE_H__322DAFBA_5048_4D34_9047_A93AEE351DD2__INCLUDED_
   
  -#if _MSC_VER > 1000
  -#pragma once
  -#endif // _MSC_VER > 1000
  -
   #include "WSClass.h"
   #include "BeanClass.h"
   
  
  
  
  1.7       +6 -5      xml-axis/c/src/wcg/Variable.cpp
  
  Index: Variable.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/Variable.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Variable.cpp      4 Aug 2003 05:03:49 -0000       1.6
  +++ Variable.cpp      2 Sep 2003 12:03:50 -0000       1.7
  @@ -234,11 +234,11 @@
        file << "\t"; 
        if (IsComplexType())
        {
  -             file << m_VarName << "->" << "Serialize(pSZ);";         
  +             file << "Axis_Serialize_" << m_TypeName << "(p->" << m_VarName << ", 
pSZ);";            
        }
        else
        {
  -             file << "pSZ << " << "pSZ.SerializeBasicType(\"" << m_VarName << "\", 
" << m_VarName << ").c_str();";
  +             file << "pSZ << " << "pSZ.SerializeBasicType(L\"" << m_VarName << "\", 
p->" << m_VarName << ");";
        }
        file << endl;
        return 0;
  @@ -246,14 +246,15 @@
   
   int Variable::GenerateDeserializerImpl(File &file)
   {
  -     file << "\t";
        if (IsComplexType())
        {
  -             file << m_VarName << "->" << "DeSerialize(pDZ);";       
  +             file << "\tpDZ->GetParam(); //get head param describing the complex 
type and do anything with it" << endl;
  +             file << "\tp->" << m_VarName << "= new " << m_TypeName << ";" << endl;
  +             file << "\tAxis_DeSerialize_" << m_TypeName << "(p->" << m_VarName << 
", pDZ);" << endl;
        }
        else
        {
  -             file << m_VarName << " = pDZ->GetParam()->" << 
GetParamGetMethod(m_Type).c_str() << "();";
  +             file << "\t" << "p->" << m_VarName << " = pDZ->GetParam()->" << 
GetParamGetMethod(m_Type).c_str() << "();";
        }
        file << endl;
        return 0;
  
  
  
  1.7       +1 -4      xml-axis/c/src/wcg/Variable.h
  
  Index: Variable.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/Variable.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Variable.h        4 Aug 2003 05:03:49 -0000       1.6
  +++ Variable.h        2 Sep 2003 12:03:50 -0000       1.7
  @@ -65,13 +65,10 @@
   // Variable.h: interface for the Variable class.
   //
   //////////////////////////////////////////////////////////////////////
  +#pragma warning (disable : 4786)
   
   #if !defined(AFX_VARIABLE_H__F9272406_BB8F_4151_8346_E033DDDDA468__INCLUDED_)
   #define AFX_VARIABLE_H__F9272406_BB8F_4151_8346_E033DDDDA468__INCLUDED_
  -
  -#if _MSC_VER > 1000
  -#pragma once
  -#endif // _MSC_VER > 1000
   
   #include "File.h"
   
  
  
  
  1.2       +0 -4      xml-axis/c/src/wcg/WCGenerator.h
  
  Index: WCGenerator.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/WCGenerator.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- WCGenerator.h     1 Jul 2003 10:50:11 -0000       1.1
  +++ WCGenerator.h     2 Sep 2003 12:03:50 -0000       1.2
  @@ -5,10 +5,6 @@
   #if !defined(AFX_WCGENERATOR_H__720250A8_3F71_4C41_88BD_BB590C1E44A8__INCLUDED_)
   #define AFX_WCGENERATOR_H__720250A8_3F71_4C41_88BD_BB590C1E44A8__INCLUDED_
   
  -#if _MSC_VER > 1000
  -#pragma once
  -#endif // _MSC_VER > 1000
  -
   #include <string>
   using namespace std;
   
  
  
  
  1.7       +9 -9      xml-axis/c/src/wcg/WSClass.cpp
  
  Index: WSClass.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/WSClass.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- WSClass.cpp       5 Aug 2003 05:29:39 -0000       1.6
  +++ WSClass.cpp       2 Sep 2003 12:03:50 -0000       1.7
  @@ -143,7 +143,7 @@
                file << "\tint Init();" << endl;                
                file << "\tint Fini();" << endl;        
                file << "private:" << "//Methods corresponding to the web service 
methods" << endl;
  -             file << "\tint SetResponseMethod(IMessageData* mc, const char* name);" 
<< endl;                         
  +             file << "\tint SetResponseMethod(IMessageData* mc, const AxisChar* 
name);" << endl;                     
                //wrapper methods for each webservice method
                for (list<Method*>::iterator it = m_Methods.begin(); it != 
m_Methods.end(); it++)
                {
  @@ -183,13 +183,13 @@
                file << "\tIWrapperSoapDeSerializer* pIWSDZ = NULL;" << endl;
                file << "\tmc->getSoapDeSerializer(&pIWSDZ);" << endl;
                file << "\tif (!pIWSDZ) return FAIL;" << endl;
  -             file << "\tstring method = pIWSDZ->GetMethodName();" << endl;
  +             file << "\tconst AxisChar* method = pIWSDZ->GetMethodName();" << endl;
                bool tab = true;
                list<Method*>::iterator it;
                for (it = m_Methods.begin(); it != m_Methods.end(); it++)
  -             {
  +             {       
                        if (tab) { file << "\t"; tab = false;} 
  -                     file << "if (method == \"" << (*it)->GetName() << "\")" << 
endl;
  +                     file << "if (0 == wcscmp(method, L\"" << (*it)->GetName() << 
"\"))" << endl;
                        file << "\t\treturn " << (*it)->GetName() << "(mc);" << endl;
                        file << "\telse ";
                }
  @@ -214,16 +214,16 @@
                file << "}" << endl;
                file << endl;
   
  -             file << "int " << m_Name << "::SetResponseMethod(IMessageData* mc, 
const char* name)" << endl;                  
  +             file << "int " << m_Name << "::SetResponseMethod(IMessageData* mc, 
const AxisChar* name)" << endl;                      
                file << "{" << endl;
  -             file << "\tstring method = name;" << endl;
  +             file << "\tAxisString method = name;" << endl;
                file << "\tIWrapperSoapSerializer* pIWSSZ = NULL;" << endl;
                file << "\tmc->getSoapSerializer(&pIWSSZ);" << endl;
                file << "\tif (!pIWSSZ) return FAIL;" << endl;
                file << "\tISoapMethod* pMethod = pIWSSZ->createSoapMethod();" << endl;
  -             file << "\tpMethod->setLocalName(method + \"Response\");" << endl;
  -             file << "\tpMethod->setPrefix(" << "pIWSSZ->getNewNamespacePrefix()" 
<< ");"<< endl; //amp - axis method prefix :)
  -             file << "\tpMethod->setUri(\"" << g_ClassNamespaces[m_AWSName] << 
"\");"<< endl; //http://www.opensource.lk will come from wsdd
  +             file << "\tpMethod->setLocalName(name);" << endl;
  +             file << "\tpMethod->setPrefix(pIWSSZ->getNewNamespacePrefix());"<< 
endl; 
  +             file << "\tpMethod->setUri(L\"" << g_ClassNamespaces[m_AWSName] << 
"\");"<< endl; //http://www.opensource.lk will come from wsdd
                file << "\treturn SUCCESS;" << endl; 
                file << "}" << endl;
                file << endl;
  
  
  
  1.5       +0 -4      xml-axis/c/src/wcg/WSClass.h
  
  Index: WSClass.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/WSClass.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- WSClass.h 4 Aug 2003 05:03:49 -0000       1.4
  +++ WSClass.h 2 Sep 2003 12:03:50 -0000       1.5
  @@ -67,10 +67,6 @@
   #if !defined(AFX_WSCLASS_H__7AE97C4B_392F_4957_B65D_3DFA4166A047__INCLUDED_)
   #define AFX_WSCLASS_H__7AE97C4B_392F_4957_B65D_3DFA4166A047__INCLUDED_
   
  -#if _MSC_VER > 1000
  -#pragma once
  -#endif // _MSC_VER > 1000
  -
   #include "Variable.h"
   #include "Method.h"
   #include "File.h"
  
  
  
  1.5       +11 -17    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.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- actions.cpp       4 Aug 2003 05:06:15 -0000       1.4
  +++ actions.cpp       2 Sep 2003 12:03:50 -0000       1.5
  @@ -20,9 +20,8 @@
   WSClass* g_pCurrentWSClass;
   BeanClass* g_pCurrentBeanClass;
   bool g_bdestructor_seen;
  -bool g_baccessbeanmacrofound;
   int g_currentaccessspecifier;
  -
  +extern string g_sWebServiceClass;
   //forward declarations of function in this file
   int map_var_type(int parsertype);
   int get_var_type(const char* vartypename);
  @@ -44,22 +43,17 @@
        g_pTranslationUnit = new TranslationUnit();
   }
   
  -bool is_bean_class(base_specifier_list* baselist)
  -{
  -     if (!baselist) return false;
  -     for (base_specifier_list::iterator it = baselist->begin(); it != 
baselist->end(); it++)
  -     {
  -             if ((*(*it)->class_name) == "IAccessBean")
  -             {
  -                     return true;
  -             }
  -     }
  -     return false;   
  -}
  -
  -bool is_accessbean_macro(string& str)
  +bool is_webservice_class(const char* classname)
   {
  -     return (str == "ACCESSBEAN_SERIALIZABLE");
  +//   if (!baselist) return false;
  +//   for (base_specifier_list::iterator it = baselist->begin(); it != 
baselist->end(); it++)
  +//   {
  +//           if ((*(*it)->class_name) == "IAccessBean")
  +//           {
  +//                   return true;
  +//           }
  +//   }
  +     return (g_sWebServiceClass == classname);
   }
   
   void add_member_declaration(string_list* decl_specs, member_declarator_list* 
member_decl_list)
  
  
  
  1.3       +3 -3      xml-axis/c/src/wcg/actions.h
  
  Index: actions.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/actions.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- actions.h 24 Jul 2003 05:11:34 -0000      1.2
  +++ actions.h 2 Sep 2003 12:03:50 -0000       1.3
  @@ -1,3 +1,5 @@
  +#pragma warning (disable : 4786)
  +
   #ifndef __ACTIONS_H_INCLUDED__
   #define __ACTIONS_H_INCLUDED__
   //this file contains all auxiliary structures needed to parse web service 
declaration files
  @@ -77,8 +79,7 @@
   //global functions used by the parser
   void translation_unit_start();
   bool is_defined_class(const char* identifier);
  -bool is_bean_class(base_specifier_list* baselist);
  -bool is_accessbean_macro(string& str);
  +bool is_webservice_class(const char* classname);
   void add_member_declaration(string_list* decl_specs, member_declarator_list* 
member_decl_list);
   
   //global variables used by the parser
  @@ -90,6 +91,5 @@
   extern BeanClass* g_pCurrentBeanClass;
   extern int g_currentaccessspecifier;
   extern bool g_bdestructor_seen;
  -extern bool g_baccessbeanmacrofound;
   
   #endif //__ACTIONS_H_INCLUDED__
  
  
  
  1.3       +7 -7      xml-axis/c/src/wcg/cpp.y
  
  Index: cpp.y
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/cpp.y,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- cpp.y     4 Aug 2003 08:36:58 -0000       1.2
  +++ cpp.y     2 Sep 2003 12:03:50 -0000       1.3
  @@ -58,7 +58,7 @@
   %token INTEGER_LITERAL CHARACTER_LITERAL FLOATING_LITERAL STRING_LITERAL 
   
   /*** Axis specific ***/
  -%token ACCESSBEAN_MACRO
  +/* %token ACCESSBEAN_MACRO */
   
   /*** Single-Character Operators ***/
   %token LEFTPAREN  RIGHTPAREN        // ( )
  @@ -1237,27 +1237,27 @@
          if (!is_defined_class($1->class_name->c_str()))
          {
                  //check if this class should be wrapped or not depending on wsdd 
information
  -               if (is_bean_class($1->baselist)) //bean class
  +               if (!is_webservice_class($1->class_name->c_str())) //bean class
                  {
                                        BeanClass* pBeanClass = new BeanClass();
                                        pBeanClass->SetClassName(*($1->class_name));
                                        g_pTranslationUnit->AddBeanClass(pBeanClass);
                                        g_pCurrentBeanClass = pBeanClass;
                                        g_currentclasstype = BEANCLASS;
  -                                     g_baccessbeanmacrofound = false;
  +//                                   g_baccessbeanmacrofound = false;
                                        //following line adds default namespace for 
this complex type. 
                                        //This should be removed when we get the 
namespace from the wsdd.
                                        string defns = "http://www.opensource.lk/"; + 
(*($1->class_name));
                                        g_ClassNamespaces[*($1->class_name)] = defns;
                  }
  -               else // we assume that this is the webservice class - there cannot 
be 2 web service classes
  +               else // this is the webservice class - there cannot be 2 web service 
classes
                  {
                                        WSClass* pWSClass = new WSClass();
                                        pWSClass->SetClassName(*($1->class_name));
                                        g_pTranslationUnit->SetWSClass(pWSClass);
                                        g_pCurrentWSClass = pWSClass;
                                        g_currentclasstype = WSCLASS;
  -                                     g_baccessbeanmacrofound = false;
  +//                                   g_baccessbeanmacrofound = false;
                                        //following line adds default namespace for 
this web service. 
                                        //This should be removed when we get the 
namespace from the wsdd.
                                        string defns = "http://www.opensource.lk/"; + 
(*($1->class_name));
  @@ -1327,8 +1327,8 @@
    // | template_declaration
    //   {}
    // ************** Axis Specific *************
  -     | ACCESSBEAN_MACRO
  -       { g_baccessbeanmacrofound = true;}
  + //  | ACCESSBEAN_MACRO
  + //    { g_baccessbeanmacrofound = true;}
     ;
   
   semi_opt
  
  
  
  1.5       +7 -5      xml-axis/c/src/wcg/cpplex.cpp
  
  Index: cpplex.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/cpplex.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- cpplex.cpp        4 Aug 2003 05:21:05 -0000       1.4
  +++ cpplex.cpp        2 Sep 2003 12:03:50 -0000       1.5
  @@ -1,3 +1,5 @@
  +#pragma warning (disable : 4786)
  +
   #line 2 "cpplex.cpp"
   /* A lexical scanner generated by flex */
   
  @@ -2212,10 +2214,10 @@
        //cout << sname.c_str() << " is recognized as a class"<<endl;
                        tok = ID_class_name;
       }
  -     else if (is_accessbean_macro(sname))
  -     {
  -             tok = ACCESSBEAN_MACRO;
  -     }
  +//   else if (is_accessbean_macro(sname))
  +//   {
  +//           tok = ACCESSBEAN_MACRO;
  +//   }
     }
     return tok;
   }
  
  
  
  1.5       +222 -229  xml-axis/c/src/wcg/cppyacc.cpp
  
  Index: cppyacc.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/cppyacc.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- cppyacc.cpp       4 Aug 2003 08:36:58 -0000       1.4
  +++ cppyacc.cpp       2 Sep 2003 12:03:50 -0000       1.5
  @@ -75,60 +75,59 @@
   # define     CHARACTER_LITERAL       326
   # define     FLOATING_LITERAL        327
   # define     STRING_LITERAL  328
  -# define     ACCESSBEAN_MACRO        329
  -# define     LEFTPAREN       330
  -# define     RIGHTPAREN      331
  -# define     LEFTBRACK       332
  -# define     RIGHTBRACK      333
  -# define     LEFTARRAY       334
  -# define     RIGHTARRAY      335
  -# define     PLUS    336
  -# define     MINUS   337
  -# define     STAR    338
  -# define     DIVIDE  339
  -# define     MOD     340
  -# define     GREATER 341
  -# define     LESS    342
  -# define     EQUAL   343
  -# define     AND     344
  -# define     OR      345
  -# define     NOT     346
  -# define     XOR     347
  -# define     COMMA   348
  -# define     SEMI    349
  -# define     COLON   350
  -# define     COMPLEMENT      351
  -# define     DOT     352
  -# define     QUESTION        353
  -# define     COLCOL  354
  -# define     ELLIPSES        355
  -# define     PLUSEQ  356
  -# define     MINUSEQ 357
  -# define     STAREQ  358
  -# define     DIVEQ   359
  -# define     MODEQ   360
  -# define     XOREQ   361
  -# define     ANDEQ   362
  -# define     OREQ    363
  -# define     LTLT    364
  -# define     GTGT    365
  -# define     GTGTEQ  366
  -# define     LTLTEQ  367
  -# define     EQEQ    368
  -# define     NOTEQ   369
  -# define     LEQ     370
  -# define     GEQ     371
  -# define     ANDAND  372
  -# define     OROR    373
  -# define     PLUSPLUS        374
  -# define     MINUSMINUS      375
  -# define     DOTSTAR 376
  -# define     ARROWSTAR       377
  -# define     ARROW   378
  -# define     IDENTIFIER      379
  -# define     ID_typedef_name 380
  -# define     ID_enum_name    381
  -# define     ID_class_name   382
  +# define     LEFTPAREN       329
  +# define     RIGHTPAREN      330
  +# define     LEFTBRACK       331
  +# define     RIGHTBRACK      332
  +# define     LEFTARRAY       333
  +# define     RIGHTARRAY      334
  +# define     PLUS    335
  +# define     MINUS   336
  +# define     STAR    337
  +# define     DIVIDE  338
  +# define     MOD     339
  +# define     GREATER 340
  +# define     LESS    341
  +# define     EQUAL   342
  +# define     AND     343
  +# define     OR      344
  +# define     NOT     345
  +# define     XOR     346
  +# define     COMMA   347
  +# define     SEMI    348
  +# define     COLON   349
  +# define     COMPLEMENT      350
  +# define     DOT     351
  +# define     QUESTION        352
  +# define     COLCOL  353
  +# define     ELLIPSES        354
  +# define     PLUSEQ  355
  +# define     MINUSEQ 356
  +# define     STAREQ  357
  +# define     DIVEQ   358
  +# define     MODEQ   359
  +# define     XOREQ   360
  +# define     ANDEQ   361
  +# define     OREQ    362
  +# define     LTLT    363
  +# define     GTGT    364
  +# define     GTGTEQ  365
  +# define     LTLTEQ  366
  +# define     EQEQ    367
  +# define     NOTEQ   368
  +# define     LEQ     369
  +# define     GEQ     370
  +# define     ANDAND  371
  +# define     OROR    372
  +# define     PLUSPLUS        373
  +# define     MINUSMINUS      374
  +# define     DOTSTAR 375
  +# define     ARROWSTAR       376
  +# define     ARROW   377
  +# define     IDENTIFIER      378
  +# define     ID_typedef_name 379
  +# define     ID_enum_name    380
  +# define     ID_class_name   381
   
   #line 1 "cpp.y"
   
  @@ -173,12 +172,12 @@
   
   
   
  -#define      YYFINAL         160
  +#define      YYFINAL         159
   #define      YYFLAG          -32768
  -#define      YYNTBASE        129
  +#define      YYNTBASE        128
   
   /* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
  -#define YYTRANSLATE(x) ((unsigned)(x) <= 382 ? yytranslate[x] : 195)
  +#define YYTRANSLATE(x) ((unsigned)(x) <= 381 ? yytranslate[x] : 194)
   
   /* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
   static const short yytranslate[] =
  @@ -221,7 +220,7 @@
         96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
        106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
        116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
  -     126,   127,   128
  +     126,   127
   };
   
   #if YYDEBUG
  @@ -238,46 +237,46 @@
        179,   181,   183,   184,   186,   187,   189,   193,   196,   201,
        204,   208,   210,   211,   213,   218,   221,   223,   224,   226,
        230,   231,   237,   241,   243,   246,   250,   252,   253,   254,
  -     259,   261,   263,   264,   266,   270,   273,   276,   279,   281,
  -     282,   285,   287,   288,   290,   291,   294,   296,   300,   303,
  -     305,   306,   308,   310,   312,   314,   315,   317,   318,   320,
  -     321,   323
  +     259,   261,   262,   264,   268,   271,   274,   277,   279,   280,
  +     283,   285,   286,   288,   289,   292,   294,   298,   301,   303,
  +     304,   306,   308,   310,   312,   313,   315,   316,   318,   319,
  +     321
   };
   static const short yyrhs[] =
   {
  -     126,     0,   128,     0,   125,     0,   125,     0,   126,     0,
  -     132,     0,   130,     0,   128,     0,     0,   135,   143,     0,
  -     137,     0,   125,     0,   133,     0,    97,   133,     0,   139,
  -       0,   138,    94,   139,     0,    71,     0,    71,     0,   140,
  -       0,     0,   144,     0,   142,   144,     0,   142,     0,     0,
  -     145,     0,   146,     0,   154,     0,   149,   156,    95,     0,
  -     151,     0,   150,     0,   149,   147,     0,   148,     0,     0,
  -      32,     0,   152,     0,   176,     0,   165,     0,   153,     0,
  +     125,     0,   127,     0,   124,     0,   124,     0,   125,     0,
  +     131,     0,   129,     0,   127,     0,     0,   134,   142,     0,
  +     136,     0,   124,     0,   132,     0,    96,   132,     0,   138,
  +       0,   137,    93,   138,     0,    71,     0,    71,     0,   139,
  +       0,     0,   143,     0,   141,   143,     0,   141,     0,     0,
  +     144,     0,   145,     0,   153,     0,   148,   155,    94,     0,
  +     150,     0,   149,     0,   148,   146,     0,   147,     0,     0,
  +      32,     0,   151,     0,   175,     0,   164,     0,   152,     0,
         33,     0,    67,     0,    47,     0,    13,     0,     6,     0,
         68,     0,    10,     0,    15,     0,    69,     0,    11,     0,
         22,     0,    44,     0,     9,     0,    37,     0,    66,     0,
  -     133,     0,    27,    25,   131,    95,     0,   157,     0,   155,
  -      94,   157,     0,   155,     0,     0,   160,   172,     0,   159,
  -       0,   162,   158,     0,   166,     0,   159,    80,   141,    81,
  -       0,   161,     0,   162,   160,     0,   166,     0,   161,    76,
  -     167,    77,     0,   161,    80,   141,    81,     0,    84,   164,
  -       0,    90,     0,   165,   164,     0,   163,     0,     0,    43,
  -       0,   136,     0,   197,     0,     0,   151,   196,     0,   168,
  -       0,   101,     0,     0,   169,     0,     0,   170,     0,   169,
  -      94,   170,     0,   148,   158,     0,   148,   158,    89,   139,
  -       0,    89,   173,     0,    76,   138,    77,     0,   171,     0,
  -       0,   139,     0,    78,   175,   174,    79,     0,    78,    79,
  -       0,    94,     0,     0,   173,     0,   175,    94,   173,     0,
  -       0,   178,   177,    78,   181,    79,     0,   179,   129,   190,
  -       0,    38,     0,   182,   181,     0,   194,    96,   181,     0,
  -     180,     0,     0,     0,   183,   149,   184,    95,     0,    75,
  -       0,    95,     0,     0,   185,     0,   184,    94,   185,     0,
  -     160,   187,     0,   160,   189,     0,    89,    71,     0,   186,
  -       0,     0,    89,   140,     0,   188,     0,     0,   191,     0,
  -       0,    96,   192,     0,   193,     0,   192,    94,   193,     0,
  -     194,   133,     0,    32,     0,     0,    50,     0,    45,     0,
  -      40,     0,   194,     0,     0,   100,     0,     0,   129,     0,
  -       0,   139,     0,     0
  +     132,     0,    27,    25,   130,    94,     0,   156,     0,   154,
  +      93,   156,     0,   154,     0,     0,   159,   171,     0,   158,
  +       0,   161,   157,     0,   165,     0,   158,    79,   140,    80,
  +       0,   160,     0,   161,   159,     0,   165,     0,   160,    75,
  +     166,    76,     0,   160,    79,   140,    80,     0,    83,   163,
  +       0,    89,     0,   164,   163,     0,   162,     0,     0,    43,
  +       0,   135,     0,   196,     0,     0,   150,   195,     0,   167,
  +       0,   100,     0,     0,   168,     0,     0,   169,     0,   168,
  +      93,   169,     0,   147,   157,     0,   147,   157,    88,   138,
  +       0,    88,   172,     0,    75,   137,    76,     0,   170,     0,
  +       0,   138,     0,    77,   174,   173,    78,     0,    77,    78,
  +       0,    93,     0,     0,   172,     0,   174,    93,   172,     0,
  +       0,   177,   176,    77,   180,    78,     0,   178,   128,   189,
  +       0,    38,     0,   181,   180,     0,   193,    95,   180,     0,
  +     179,     0,     0,     0,   182,   148,   183,    94,     0,    94,
  +       0,     0,   184,     0,   183,    93,   184,     0,   159,   186,
  +       0,   159,   188,     0,    88,    71,     0,   185,     0,     0,
  +      88,   139,     0,   187,     0,     0,   190,     0,     0,    95,
  +     191,     0,   192,     0,   191,    93,   192,     0,   193,   132,
  +       0,    32,     0,     0,    50,     0,    45,     0,    40,     0,
  +     193,     0,     0,    99,     0,     0,   128,     0,     0,   138,
  +       0,     0
   };
   
   #endif
  @@ -297,10 +296,10 @@
       1129,  1137,  1138,  1142,  1143,  1147,  1152,  1160,  1167,  1201,
       1203,  1208,  1210,  1214,  1215,  1217,  1221,  1222,  1226,  1228,
       1234,  1234,  1276,  1293,  1300,  1302,  1308,  1309,  1313,  1313,
  -    1330,  1335,  1336,  1340,  1345,  1358,  1366,  1379,  1384,  1385,
  -    1389,  1394,  1395,  1400,  1401,  1405,  1409,  1414,  1421,  1439,
  -    1440,  1444,  1446,  1448,  1453,  1455,  1508,  1509,  1615,  1617,
  -    1697,  1698
  +    1335,  1336,  1340,  1345,  1358,  1366,  1379,  1384,  1385,  1389,
  +    1394,  1395,  1400,  1401,  1405,  1409,  1414,  1421,  1439,  1440,
  +    1444,  1446,  1448,  1453,  1455,  1508,  1509,  1615,  1617,  1697,
  +    1698
   };
   #endif
   
  @@ -325,18 +324,18 @@
     "KW_if", "KW_return", "KW_typedef", "KW_export", "KW_string", 
     "KW_unsigned_char", "KW_unsigned_short", "KW_unsigned_long", 
     "KW_long_double", "INTEGER_LITERAL", "CHARACTER_LITERAL", 
  -  "FLOATING_LITERAL", "STRING_LITERAL", "ACCESSBEAN_MACRO", "LEFTPAREN", 
  -  "RIGHTPAREN", "LEFTBRACK", "RIGHTBRACK", "LEFTARRAY", "RIGHTARRAY", 
  -  "PLUS", "MINUS", "STAR", "DIVIDE", "MOD", "GREATER", "LESS", "EQUAL", 
  -  "AND", "OR", "NOT", "XOR", "COMMA", "SEMI", "COLON", "COMPLEMENT", 
  -  "DOT", "QUESTION", "COLCOL", "ELLIPSES", "PLUSEQ", "MINUSEQ", "STAREQ", 
  -  "DIVEQ", "MODEQ", "XOREQ", "ANDEQ", "OREQ", "LTLT", "GTGT", "GTGTEQ", 
  -  "LTLTEQ", "EQEQ", "NOTEQ", "LEQ", "GEQ", "ANDAND", "OROR", "PLUSPLUS", 
  -  "MINUSMINUS", "DOTSTAR", "ARROWSTAR", "ARROW", "IDENTIFIER", 
  -  "ID_typedef_name", "ID_enum_name", "ID_class_name", "any_identifier", 
  -  "ID_namespace_alias", "namespace_name", "namespace_alias", "class_name", 
  -  "translation_unit", "@1", "id_expression", "unqualified_id", 
  -  "expression_list", "assignment_expression", "constant_expression", 
  +  "FLOATING_LITERAL", "STRING_LITERAL", "LEFTPAREN", "RIGHTPAREN", 
  +  "LEFTBRACK", "RIGHTBRACK", "LEFTARRAY", "RIGHTARRAY", "PLUS", "MINUS", 
  +  "STAR", "DIVIDE", "MOD", "GREATER", "LESS", "EQUAL", "AND", "OR", "NOT", 
  +  "XOR", "COMMA", "SEMI", "COLON", "COMPLEMENT", "DOT", "QUESTION", 
  +  "COLCOL", "ELLIPSES", "PLUSEQ", "MINUSEQ", "STAREQ", "DIVEQ", "MODEQ", 
  +  "XOREQ", "ANDEQ", "OREQ", "LTLT", "GTGT", "GTGTEQ", "LTLTEQ", "EQEQ", 
  +  "NOTEQ", "LEQ", "GEQ", "ANDAND", "OROR", "PLUSPLUS", "MINUSMINUS", 
  +  "DOTSTAR", "ARROWSTAR", "ARROW", "IDENTIFIER", "ID_typedef_name", 
  +  "ID_enum_name", "ID_class_name", "any_identifier", "ID_namespace_alias", 
  +  "namespace_name", "namespace_alias", "class_name", "translation_unit", 
  +  "@1", "id_expression", "unqualified_id", "expression_list", 
  +  "assignment_expression", "constant_expression", 
     "constant_expression_opt", "declaration_seq", "declaration_seq_opt", 
     "declaration", "block_declaration", "simple_declaration", 
     "decl_specifier", "decl_specifier_seq", "decl_specifier_seq_opt", 
  @@ -362,21 +361,21 @@
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
   static const short yyr1[] =
   {
  -       0,   129,   129,   129,   130,   195,   131,   132,   133,   135,
  -     134,   136,   137,   137,   137,   138,   138,   139,   140,   141,
  -     141,   142,   142,   143,   143,   144,   145,   145,   146,   147,
  -     147,   148,   149,   149,   150,   151,   151,   151,   152,   152,
  -     152,   152,   152,   152,   152,   152,   152,   152,   152,   152,
  -     152,   152,   152,   152,   153,   154,   155,   155,   156,   156,
  -     157,   158,   158,   159,   159,   160,   160,   161,   161,   161,
  -     162,   162,   163,   164,   164,   165,   166,   196,   196,   197,
  -     167,   198,   198,   168,   168,   169,   169,   170,   170,   171,
  -     171,   172,   172,   173,   173,   173,   174,   174,   175,   175,
  -     177,   176,   178,   179,   180,   180,   181,   181,   183,   182,
  -     182,   199,   199,   184,   184,   185,   185,   186,   187,   187,
  -     188,   189,   189,   190,   190,   191,   192,   192,   193,   200,
  -     200,   194,   194,   194,   201,   201,   202,   202,   203,   203,
  -     204,   204
  +       0,   128,   128,   128,   129,   194,   130,   131,   132,   134,
  +     133,   135,   136,   136,   136,   137,   137,   138,   139,   140,
  +     140,   141,   141,   142,   142,   143,   144,   144,   145,   146,
  +     146,   147,   148,   148,   149,   150,   150,   150,   151,   151,
  +     151,   151,   151,   151,   151,   151,   151,   151,   151,   151,
  +     151,   151,   151,   151,   152,   153,   154,   154,   155,   155,
  +     156,   157,   157,   158,   158,   159,   159,   160,   160,   160,
  +     161,   161,   162,   163,   163,   164,   165,   195,   195,   196,
  +     166,   197,   197,   167,   167,   168,   168,   169,   169,   170,
  +     170,   171,   171,   172,   172,   172,   173,   173,   174,   174,
  +     176,   175,   177,   178,   179,   179,   180,   180,   182,   181,
  +     198,   198,   183,   183,   184,   184,   185,   186,   186,   187,
  +     188,   188,   189,   189,   190,   191,   191,   192,   199,   199,
  +     193,   193,   193,   200,   200,   201,   201,   202,   202,   203,
  +     203
   };
   
   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
  @@ -393,10 +392,10 @@
          1,     1,     0,     1,     0,     1,     3,     2,     4,     2,
          3,     1,     0,     1,     4,     2,     1,     0,     1,     3,
          0,     5,     3,     1,     2,     3,     1,     0,     0,     4,
  -       1,     1,     0,     1,     3,     2,     2,     2,     1,     0,
  -       2,     1,     0,     1,     0,     2,     1,     3,     2,     1,
  -       0,     1,     1,     1,     1,     0,     1,     0,     1,     0,
  -       1,     0
  +       1,     0,     1,     3,     2,     2,     2,     1,     0,     2,
  +       1,     0,     1,     0,     2,     1,     3,     2,     1,     0,
  +       1,     1,     1,     1,     0,     1,     0,     1,     0,     1,
  +       0
   };
   
   /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
  @@ -411,101 +410,99 @@
         30,    29,    35,    38,    58,     0,    56,    92,    65,     0,
         37,    67,    36,   100,     0,     4,     7,     0,     6,    73,
         70,    74,    14,     0,    28,     0,     0,    91,    60,    33,
  -      20,    13,    66,     0,     3,     1,     2,   124,    55,    72,
  +      20,    13,    66,     0,     3,     1,     2,   123,    55,    72,
         57,    17,     0,    15,     0,    93,    89,    32,     0,     0,
  -      80,    83,    85,    18,    19,     0,   108,     0,   102,   123,
  +      80,    83,    85,    18,    19,     0,   108,     0,   102,   122,
         90,     0,    95,    98,    97,    87,    61,     0,    63,    54,
  -      68,    33,    69,   133,   132,   131,   110,   106,     0,   108,
  -      33,     0,   125,   126,     0,    16,    96,     0,     0,    20,
  -      62,    86,   101,   104,     0,   108,     0,   128,    99,    94,
  -      88,     0,   119,     0,   113,   105,   127,    64,     0,   118,
  -     115,   121,   116,     0,   109,    18,   120,   114,     0,     0,
  -       0
  +      68,    33,    69,   132,   131,   130,   106,     0,   108,    33,
  +       0,   124,   125,     0,    16,    96,     0,     0,    20,    62,
  +      86,   101,   104,     0,   108,     0,   127,    99,    94,    88,
  +       0,   118,     0,   112,   105,   126,    64,     0,   117,   114,
  +     120,   115,     0,   109,    18,   119,   113,     0,     0,     0
   };
   
   static const short yydefgoto[] =
   {
  -      77,    56,    57,    58,    71,   158,     1,    37,    38,    82,
  +      77,    56,    57,    58,    71,   157,     1,    37,    38,    82,
         85,    94,    95,     3,     4,     5,     6,     7,    39,     8,
          9,    40,    41,    42,    43,    10,    44,    45,    46,   105,
        106,    47,    48,    49,    59,    60,    50,    51,    89,    90,
  -      91,    92,    67,    68,    86,   127,   104,    52,    73,    53,
  -      54,   117,   118,   119,   120,   143,   144,   149,   150,   151,
  -     152,    98,    99,   122,   123,   121
  +      91,    92,    67,    68,    86,   126,   104,    52,    73,    53,
  +      54,   116,   117,   118,   119,   142,   143,   148,   149,   150,
  +     151,    98,    99,   121,   122,   120
   };
   
   static const short yypact[] =
   {
  -  -32768,    49,   -24,    58,-32768,-32768,-32768,-32768,-32768,    -4,
  -  -32768,  -109,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  +  -32768,    30,   -14,    48,-32768,-32768,-32768,-32768,-32768,    -5,
  +  -32768,   -80,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
     -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  -  -32768,    25,-32768,   -98,-32768,-32768,     1,-32768,-32768,-32768,
  -  -32768,-32768,-32768,-32768,   -10,     5,-32768,     2,    23,   -59,
  -  -32768,-32768,-32768,-32768,   -17,-32768,-32768,     6,-32768,-32768,
  -  -32768,    25,-32768,   -59,-32768,    33,    11,-32768,-32768,    35,
  -      39,-32768,-32768,    36,-32768,-32768,-32768,    17,-32768,-32768,
  -  -32768,-32768,   -42,-32768,    27,-32768,-32768,   -59,     4,    40,
  -  -32768,    22,-32768,-32768,-32768,    37,   -18,    52,-32768,-32768,
  -  -32768,    33,-32768,-32768,    26,    30,    42,   -59,-32768,-32768,
  -  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    44,   -18,
  -  -32768,    31,    32,-32768,   -98,-32768,    11,    50,    33,    39,
  -  -32768,-32768,-32768,-32768,    -4,   -18,    52,-32768,-32768,-32768,
  -  -32768,    47,    41,   -50,-32768,-32768,-32768,-32768,    60,-32768,
  -  -32768,-32768,-32768,   -59,-32768,-32768,-32768,-32768,   133,   134,
  -  -32768
  +  -32768,    13,-32768,   -46,-32768,-32768,    10,-32768,-32768,-32768,
  +  -32768,-32768,-32768,-32768,   -10,    -6,-32768,   -20,     1,   -31,
  +  -32768,-32768,-32768,-32768,   -17,-32768,-32768,    -4,-32768,-32768,
  +  -32768,    13,-32768,   -31,-32768,    28,    29,-32768,-32768,    33,
  +      40,-32768,-32768,    35,-32768,-32768,-32768,    18,-32768,-32768,
  +  -32768,-32768,   -56,-32768,    24,-32768,-32768,   -31,     3,    39,
  +  -32768,    23,-32768,-32768,-32768,    37,   -19,    47,-32768,-32768,
  +  -32768,    28,-32768,-32768,    25,    32,    42,   -31,-32768,-32768,
  +  -32768,-32768,-32768,-32768,-32768,-32768,-32768,    45,   -19,-32768,
  +      31,    34,-32768,   -46,-32768,    29,    50,    28,    40,-32768,
  +  -32768,-32768,-32768,    -5,   -19,    47,-32768,-32768,-32768,-32768,
  +      49,    43,   -71,-32768,-32768,-32768,-32768,    54,-32768,-32768,
  +  -32768,-32768,   -31,-32768,-32768,-32768,-32768,   132,   133,-32768
   };
   
   static const short yypgoto[] =
   {
     -32768,-32768,-32768,-32768,    -9,-32768,-32768,-32768,-32768,-32768,
  -     -45,   -12,     8,-32768,-32768,   132,-32768,-32768,-32768,   -61,
  -     -65,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    75,    34,
  -  -32768,   -46,-32768,   -20,-32768,    78,    -8,   -13,-32768,-32768,
  -  -32768,    29,-32768,-32768,   -72,-32768,-32768,-32768,-32768,-32768,
  -  -32768,-32768,   -60,-32768,-32768,-32768,   -11,-32768,-32768,-32768,
  -  -32768,-32768,-32768,-32768,     7,   -76
  +     -50,   -12,     6,-32768,-32768,   134,-32768,-32768,-32768,   -62,
  +     -66,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    73,    36,
  +  -32768,   -47,-32768,   -53,-32768,    77,    12,   -13,-32768,-32768,
  +  -32768,    38,-32768,-32768,   -65,-32768,-32768,-32768,-32768,-32768,
  +  -32768,-32768,   -52,-32768,-32768,-32768,   -11,-32768,-32768,-32768,
  +  -32768,-32768,-32768,-32768,     4,   -68
   };
   
   
  -#define      YYLAST          143
  +#define      YYLAST          149
   
   
   static const short yytable[] =
   {
  -      36,    11,    13,    72,    88,    14,    15,    16,    87,    17,
  -      13,    18,   103,    14,    15,    16,    55,    17,    19,    18,
  -      83,   124,   113,    61,    62,    31,    19,   114,    20,    21,
  -      35,    32,   115,    22,    23,   100,    20,    21,    33,    24,
  -      25,    22,    23,    26,   153,   154,    88,    24,    25,   -24,
  -      87,    26,   101,    61,   138,   134,   125,   116,   -23,   133,
  -     124,  -107,    27,    28,    29,    30,    34,   107,    24,    35,
  -      27,    28,    29,    30,   108,   145,     2,   -13,    65,   109,
  -      31,   -13,    81,   140,    63,     2,    32,   107,   142,    84,
  -     -13,    66,   113,    33,   108,   -13,   -13,   114,    81,    69,
  -      64,    78,   115,    70,    81,    84,   102,   142,    74,    75,
  -      93,    76,   -84,    97,    96,   137,   111,   110,   112,   128,
  -     126,    34,   129,   132,    35,    36,   136,   135,   147,   139,
  -     148,   155,    35,   159,   160,    12,   156,   141,    80,    79,
  -     131,   130,   157,   146
  +      36,    13,    72,    88,    14,    15,    16,    87,    17,    13,
  +      18,    11,    14,    15,    16,    83,    17,    19,    18,   103,
  +     100,   113,   152,   153,    62,    19,   114,    20,    21,   123,
  +     -24,   115,    22,    23,   107,    20,    21,   101,    24,    25,
  +      22,    23,    26,    61,    55,    88,    24,    25,   -23,    87,
  +      26,   124,    31,   133,   107,    65,    24,     2,    32,  -107,
  +     137,    27,    28,    29,    30,    33,   132,   123,    66,    27,
  +      28,    29,    30,    61,   108,     2,    69,   139,    31,   109,
  +      70,    35,   144,    63,    32,   -13,   141,   113,    64,   -13,
  +      78,    33,   114,    34,   108,    81,    35,   115,   -13,    81,
  +      81,    84,   102,   -13,   -13,   141,    84,    74,    75,   -84,
  +      76,    93,    96,    97,   136,   110,   111,   112,   125,    34,
  +     127,   128,    35,   131,    36,   154,   134,   135,   138,   146,
  +      35,   147,   158,   159,   140,   155,    80,    12,    79,   145,
  +       0,   156,     0,   129,     0,     0,     0,     0,     0,   130
   };
   
   static const short yycheck[] =
   {
  -       9,    25,     6,    49,    69,     9,    10,    11,    69,    13,
  -       6,    15,    84,     9,    10,    11,   125,    13,    22,    15,
  -      65,    97,    40,    31,    33,    84,    22,    45,    32,    33,
  -     128,    90,    50,    37,    38,    77,    32,    33,    97,    43,
  -      44,    37,    38,    47,    94,    95,   111,    43,    44,     0,
  -     111,    47,    94,    61,   126,   120,   101,    75,     0,   119,
  -     136,    79,    66,    67,    68,    69,   125,    87,    43,   128,
  -      66,    67,    68,    69,    87,   135,    27,    76,    76,    88,
  -      84,    80,    71,   128,    94,    27,    90,   107,   134,    78,
  -      89,    89,    40,    97,   107,    94,    95,    45,    71,    76,
  -      95,    95,    50,    80,    71,    78,    79,   153,   125,   126,
  -      71,   128,    77,    96,    78,   124,    94,    77,    81,    89,
  -      94,   125,    80,    79,   128,   134,    94,    96,    81,    79,
  -      89,    71,   128,     0,     0,     3,   148,   129,    63,    61,
  -     111,   107,   153,   136
  +       9,     6,    49,    69,     9,    10,    11,    69,    13,     6,
  +      15,    25,     9,    10,    11,    65,    13,    22,    15,    84,
  +      76,    40,    93,    94,    33,    22,    45,    32,    33,    97,
  +       0,    50,    37,    38,    87,    32,    33,    93,    43,    44,
  +      37,    38,    47,    31,   124,   111,    43,    44,     0,   111,
  +      47,   101,    83,   119,   107,    75,    43,    27,    89,    78,
  +     125,    66,    67,    68,    69,    96,   118,   135,    88,    66,
  +      67,    68,    69,    61,    87,    27,    75,   127,    83,    88,
  +      79,   127,   134,    93,    89,    75,   133,    40,    94,    79,
  +      94,    96,    45,   124,   107,    71,   127,    50,    88,    71,
  +      71,    77,    78,    93,    94,   152,    77,   124,   125,    76,
  +     127,    71,    77,    95,   123,    76,    93,    80,    93,   124,
  +      88,    79,   127,    78,   133,    71,    95,    93,    78,    80,
  +     127,    88,     0,     0,   128,   147,    63,     3,    61,   135,
  +      -1,   152,    -1,   107,    -1,    -1,    -1,    -1,    -1,   111
   };
   /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
   #line 3 "/usr/share/bison/bison.simple"
  @@ -1676,27 +1673,27 @@
          if (!is_defined_class(yyvsp[0].class_head_ptr->class_name->c_str()))
          {
                  //check if this class should be wrapped or not depending on wsdd 
information
  -               if (is_bean_class(yyvsp[0].class_head_ptr->baselist)) //bean class
  +               if 
(!is_webservice_class(yyvsp[0].class_head_ptr->class_name->c_str())) //bean class
                  {
                                        BeanClass* pBeanClass = new BeanClass();
                                        
pBeanClass->SetClassName(*(yyvsp[0].class_head_ptr->class_name));
                                        g_pTranslationUnit->AddBeanClass(pBeanClass);
                                        g_pCurrentBeanClass = pBeanClass;
                                        g_currentclasstype = BEANCLASS;
  -                                     g_baccessbeanmacrofound = false;
  +//                                   g_baccessbeanmacrofound = false;
                                        //following line adds default namespace for 
this complex type. 
                                        //This should be removed when we get the 
namespace from the wsdd.
                                        string defns = "http://www.opensource.lk/"; + 
(*(yyvsp[0].class_head_ptr->class_name));
                                        
g_ClassNamespaces[*(yyvsp[0].class_head_ptr->class_name)] = defns;
                  }
  -               else // we assume that this is the webservice class - there cannot 
be 2 web service classes
  +               else // this is the webservice class - there cannot be 2 web service 
classes
                  {
                                        WSClass* pWSClass = new WSClass();
                                        
pWSClass->SetClassName(*(yyvsp[0].class_head_ptr->class_name));
                                        g_pTranslationUnit->SetWSClass(pWSClass);
                                        g_pCurrentWSClass = pWSClass;
                                        g_currentclasstype = WSCLASS;
  -                                     g_baccessbeanmacrofound = false;
  +//                                   g_baccessbeanmacrofound = false;
                                        //following line adds default namespace for 
this web service. 
                                        //This should be removed when we get the 
namespace from the wsdd.
                                        string defns = "http://www.opensource.lk/"; + 
(*(yyvsp[0].class_head_ptr->class_name));
  @@ -1751,25 +1748,21 @@
         add_member_declaration(yyvsp[-2].string_list_ptr, 
yyvsp[-1].member_declarator_list_ptr);
       ;
       break;}
  -case 110:
  -#line 1331 "cpp.y"
  -{ g_baccessbeanmacrofound = true;;
  -    break;}
  -case 113:
  +case 112:
   #line 1341 "cpp.y"
   {
         yyval.member_declarator_list_ptr = new member_declarator_list;
         yyval.member_declarator_list_ptr->push_back(yyvsp[0].member_declarator_ptr);
       ;
       break;}
  -case 114:
  +case 113:
   #line 1346 "cpp.y"
   {
         yyval.member_declarator_list_ptr = yyvsp[-2].member_declarator_list_ptr;
         yyval.member_declarator_list_ptr->push_back(yyvsp[0].member_declarator_ptr);
       ;
       break;}
  -case 115:
  +case 114:
   #line 1359 "cpp.y"
   {
         yyval.member_declarator_ptr = yyvsp[-1].member_declarator_ptr;
  @@ -1779,7 +1772,7 @@
         }
       ;
       break;}
  -case 116:
  +case 115:
   #line 1367 "cpp.y"
   {
         yyval.member_declarator_ptr = yyvsp[-1].member_declarator_ptr;
  @@ -1789,56 +1782,56 @@
         }
       ;
       break;}
  -case 117:
  +case 116:
   #line 1380 "cpp.y"
   {yyval.tokenvalue = 1;;
       break;}
  -case 118:
  +case 117:
   #line 1384 "cpp.y"
   {yyval.tokenvalue = yyvsp[0].tokenvalue;;
       break;}
  -case 119:
  +case 118:
   #line 1385 "cpp.y"
   {yyval.tokenvalue = 0;;
       break;}
  -case 120:
  +case 119:
   #line 1390 "cpp.y"
   {yyval.expression_ptr = yyvsp[0].expression_ptr;;
       break;}
  -case 121:
  +case 120:
   #line 1394 "cpp.y"
   {yyval.expression_ptr = yyvsp[0].expression_ptr;;
       break;}
  -case 122:
  +case 121:
   #line 1395 "cpp.y"
   {yyval.expression_ptr = NULL;;
       break;}
  -case 123:
  +case 122:
   #line 1400 "cpp.y"
   {yyval.base_specifier_list_ptr = yyvsp[0].base_specifier_list_ptr;;
       break;}
  -case 124:
  +case 123:
   #line 1401 "cpp.y"
   {yyval.base_specifier_list_ptr = NULL;;
       break;}
  -case 125:
  +case 124:
   #line 1405 "cpp.y"
   {yyval.base_specifier_list_ptr = yyvsp[0].base_specifier_list_ptr;;
       break;}
  -case 126:
  +case 125:
   #line 1410 "cpp.y"
   {
        yyval.base_specifier_list_ptr = new base_specifier_list;
                yyval.base_specifier_list_ptr->push_back(yyvsp[0].base_specifier_ptr);
       ;
       break;}
  -case 127:
  +case 126:
   #line 1415 "cpp.y"
   {
        yyval.base_specifier_list_ptr->push_back(yyvsp[0].base_specifier_ptr);
       ;
       break;}
  -case 128:
  +case 127:
   #line 1431 "cpp.y"
   {
        yyval.base_specifier_ptr = new base_specifier;
  @@ -1846,55 +1839,55 @@
         yyval.base_specifier_ptr->class_name = yyvsp[0].string_ptr;
       ;
       break;}
  -case 129:
  +case 128:
   #line 1439 "cpp.y"
   {/*$$ = 1; */;
       break;}
  -case 130:
  +case 129:
   #line 1440 "cpp.y"
   {/* $$ = 0; */;
       break;}
  -case 131:
  +case 130:
   #line 1445 "cpp.y"
   {yyval.tokenvalue = yyvsp[0].tokenvalue; g_currentaccessspecifier = 
yyvsp[0].tokenvalue;;
       break;}
  -case 132:
  +case 131:
   #line 1447 "cpp.y"
   {yyval.tokenvalue = yyvsp[0].tokenvalue; g_currentaccessspecifier = 
yyvsp[0].tokenvalue;;
       break;}
  -case 133:
  +case 132:
   #line 1449 "cpp.y"
   {yyval.tokenvalue = yyvsp[0].tokenvalue; g_currentaccessspecifier = 
yyvsp[0].tokenvalue;;
       break;}
  -case 134:
  +case 133:
   #line 1454 "cpp.y"
   {yyval.tokenvalue=yyvsp[0].tokenvalue;;
       break;}
  -case 135:
  +case 134:
   #line 1455 "cpp.y"
   {yyval.tokenvalue = 0;;
       break;}
  -case 136:
  +case 135:
   #line 1508 "cpp.y"
   {;
       break;}
  -case 137:
  +case 136:
   #line 1509 "cpp.y"
   {;
       break;}
  -case 138:
  +case 137:
   #line 1616 "cpp.y"
   {;
       break;}
  -case 139:
  +case 138:
   #line 1617 "cpp.y"
   {;
       break;}
  -case 140:
  +case 139:
   #line 1697 "cpp.y"
   {;
       break;}
  -case 141:
  +case 140:
   #line 1698 "cpp.y"
   {;
       break;}
  
  
  
  1.5       +53 -54    xml-axis/c/src/wcg/cppyacc.hpp
  
  Index: cppyacc.hpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wcg/cppyacc.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- cppyacc.hpp       4 Aug 2003 05:21:05 -0000       1.4
  +++ cppyacc.hpp       2 Sep 2003 12:03:50 -0000       1.5
  @@ -94,60 +94,59 @@
   # define     CHARACTER_LITERAL       326
   # define     FLOATING_LITERAL        327
   # define     STRING_LITERAL  328
  -# define     ACCESSBEAN_MACRO        329
  -# define     LEFTPAREN       330
  -# define     RIGHTPAREN      331
  -# define     LEFTBRACK       332
  -# define     RIGHTBRACK      333
  -# define     LEFTARRAY       334
  -# define     RIGHTARRAY      335
  -# define     PLUS    336
  -# define     MINUS   337
  -# define     STAR    338
  -# define     DIVIDE  339
  -# define     MOD     340
  -# define     GREATER 341
  -# define     LESS    342
  -# define     EQUAL   343
  -# define     AND     344
  -# define     OR      345
  -# define     NOT     346
  -# define     XOR     347
  -# define     COMMA   348
  -# define     SEMI    349
  -# define     COLON   350
  -# define     COMPLEMENT      351
  -# define     DOT     352
  -# define     QUESTION        353
  -# define     COLCOL  354
  -# define     ELLIPSES        355
  -# define     PLUSEQ  356
  -# define     MINUSEQ 357
  -# define     STAREQ  358
  -# define     DIVEQ   359
  -# define     MODEQ   360
  -# define     XOREQ   361
  -# define     ANDEQ   362
  -# define     OREQ    363
  -# define     LTLT    364
  -# define     GTGT    365
  -# define     GTGTEQ  366
  -# define     LTLTEQ  367
  -# define     EQEQ    368
  -# define     NOTEQ   369
  -# define     LEQ     370
  -# define     GEQ     371
  -# define     ANDAND  372
  -# define     OROR    373
  -# define     PLUSPLUS        374
  -# define     MINUSMINUS      375
  -# define     DOTSTAR 376
  -# define     ARROWSTAR       377
  -# define     ARROW   378
  -# define     IDENTIFIER      379
  -# define     ID_typedef_name 380
  -# define     ID_enum_name    381
  -# define     ID_class_name   382
  +# define     LEFTPAREN       329
  +# define     RIGHTPAREN      330
  +# define     LEFTBRACK       331
  +# define     RIGHTBRACK      332
  +# define     LEFTARRAY       333
  +# define     RIGHTARRAY      334
  +# define     PLUS    335
  +# define     MINUS   336
  +# define     STAR    337
  +# define     DIVIDE  338
  +# define     MOD     339
  +# define     GREATER 340
  +# define     LESS    341
  +# define     EQUAL   342
  +# define     AND     343
  +# define     OR      344
  +# define     NOT     345
  +# define     XOR     346
  +# define     COMMA   347
  +# define     SEMI    348
  +# define     COLON   349
  +# define     COMPLEMENT      350
  +# define     DOT     351
  +# define     QUESTION        352
  +# define     COLCOL  353
  +# define     ELLIPSES        354
  +# define     PLUSEQ  355
  +# define     MINUSEQ 356
  +# define     STAREQ  357
  +# define     DIVEQ   358
  +# define     MODEQ   359
  +# define     XOREQ   360
  +# define     ANDEQ   361
  +# define     OREQ    362
  +# define     LTLT    363
  +# define     GTGT    364
  +# define     GTGTEQ  365
  +# define     LTLTEQ  366
  +# define     EQEQ    367
  +# define     NOTEQ   368
  +# define     LEQ     369
  +# define     GEQ     370
  +# define     ANDAND  371
  +# define     OROR    372
  +# define     PLUSPLUS        373
  +# define     MINUSMINUS      374
  +# define     DOTSTAR 375
  +# define     ARROWSTAR       376
  +# define     ARROW   377
  +# define     IDENTIFIER      378
  +# define     ID_typedef_name 379
  +# define     ID_enum_name    380
  +# define     ID_class_name   381
   
   
   extern YYSTYPE yylval;
  
  
  
  1.11      +29 -29    xml-axis/c/src/wsdd/WSDDDocument.cpp
  
  Index: WSDDDocument.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/wsdd/WSDDDocument.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- WSDDDocument.cpp  1 Sep 2003 13:44:39 -0000       1.10
  +++ WSDDDocument.cpp  2 Sep 2003 12:03:50 -0000       1.11
  @@ -111,7 +111,7 @@
   
   void  WSDDDocument::endElement (const XMLCh *const uri, const XMLCh *const 
localname, const XMLCh *const qname)
   {
  -     if (0 != wcscmp((wchar_t*) localname, kw_param)) //just neglect endElement of 
parameter
  +     if (0 != wcscmp(localname, kw_param)) //just neglect endElement of parameter
        {
                if (m_lev1 == WSDD_UNKNOWN) //not inside a requestFlow or responseFlow 
elements
                {
  @@ -124,7 +124,7 @@
                                m_lev0 = WSDD_DEPLOYMENT;
                                break;
                        case WSDD_SERVICE:
  -                             if (0 == wcscmp((wchar_t*) localname, kw_srv))
  +                             if (0 == wcscmp(localname, kw_srv))
                                {
                                        //add service object to Deployment object
                                        m_pDeployment->AddService(m_pService);
  @@ -151,7 +151,7 @@
                }
                else // inside a requestFlow or responseFlow elements
                {
  -                     if(0 == wcscmp((wchar_t*) localname, kw_hdl))
  +                     if(0 == wcscmp(localname, kw_hdl))
                        {
                                m_lev2 = WSDD_UNKNOWN;
                                //add handler in m_pHandler to the corresponding 
container.
  @@ -178,11 +178,11 @@
                                        default: ; //this cannot happen ?? 
                                }
                        }
  -                     else if(0 == wcscmp((wchar_t*) localname, kw_rqf))
  +                     else if(0 == wcscmp(localname, kw_rqf))
                        {  
                                m_lev1 = WSDD_UNKNOWN;
                        }
  -                     else if(0 == wcscmp((wchar_t*) localname, kw_rsf))
  +                     else if(0 == wcscmp(localname, kw_rsf))
                        {  
                                m_lev1 = WSDD_UNKNOWN;
                        }                                               
  @@ -194,8 +194,8 @@
   {
        for (int i = 0; i < attrs.getLength(); i++) 
        {
  -             AxisString local = (wchar_t*) attrs.getLocalName(i);
  -             AxisString value = (wchar_t*) attrs.getValue(i);
  +             AxisString local = attrs.getLocalName(i);
  +             AxisString value = attrs.getValue(i);
                switch(ElementType)
                {
                case WSDD_SERVICE: //add this attribute to current service object
  @@ -276,8 +276,8 @@
        AxisString Localname, Value;
        for (int i = 0; i < attrs.getLength(); i++) 
        {
  -             Localname = (wchar_t*) attrs.getLocalName(i);
  -             Value = (wchar_t*) attrs.getValue(i);
  +             Localname = attrs.getLocalName(i);
  +             Value = attrs.getValue(i);
                if (Localname == kw_name)
                {
                        name = Value;
  @@ -377,33 +377,33 @@
                switch(m_lev0)
                {
                case WSDD_UNKNOWN:
  -                     if(0 == wcscmp((wchar_t*) localname, kw_depl))
  +                     if(0 == wcscmp(localname, kw_depl))
                        {  
                                m_lev0 = WSDD_DEPLOYMENT;
                                //nothing to get
                        }
                        break;
                case WSDD_DEPLOYMENT:
  -                     if(0 == wcscmp((wchar_t*) localname, kw_glconf))
  +                     if(0 == wcscmp(localname, kw_glconf))
                        {  
                                m_lev0 = WSDD_GLOBCONF;
                                //nothing to get
                        }
  -                     else if(0 == wcscmp((wchar_t*) localname, kw_srv))
  +                     else if(0 == wcscmp(localname, kw_srv))
                        {  
                                m_lev0 = WSDD_SERVICE;
                                m_pService = new WSDDService();
                                //get service name and proider if any
                                ProcessAttributes(WSDD_SERVICE, attrs);
                        }
  -                     else if(0 == wcscmp((wchar_t*) localname, kw_hdl))
  +                     else if(0 == wcscmp(localname, kw_hdl))
                        {  
                                m_lev0 = WSDD_HANDLER;
                                m_pHandler = new WSDDHandler();
                                ProcessAttributes(WSDD_HANDLER, attrs);
                                //get handler name and type if any
                        }
  -                     else if(0 == wcscmp((wchar_t*) localname, kw_tr))
  +                     else if(0 == wcscmp(localname, kw_tr))
                        {  
                                m_lev0 = WSDD_TRANSPORT;
                                ProcessAttributes(WSDD_TRANSPORT, attrs);
  @@ -414,16 +414,16 @@
                        }
                        break;
                case WSDD_GLOBCONF:
  -                     if(0 == wcscmp((wchar_t*) localname, kw_param))
  +                     if(0 == wcscmp(localname, kw_param))
                        {  
                                GetParameters(WSDD_GLOBCONF, attrs);
                        }
  -                     else if(0 == wcscmp((wchar_t*) localname, kw_rqf))
  +                     else if(0 == wcscmp(localname, kw_rqf))
                        {  
                                m_lev1 = WSDD_REQFLOW;
                                ProcessAttributes(WSDD_REQFLOW, attrs);
                        }
  -                     else if(0 == wcscmp((wchar_t*) localname, kw_rsf))
  +                     else if(0 == wcscmp(localname, kw_rsf))
                        {  
                                m_lev1 = WSDD_RESFLOW;
                                ProcessAttributes(WSDD_RESFLOW, attrs);
  @@ -434,16 +434,16 @@
                        }
                break; 
                case WSDD_SERVICE:
  -                     if(0 == wcscmp((wchar_t*) localname, kw_param))
  +                     if(0 == wcscmp(localname, kw_param))
                        {  
                                GetParameters(WSDD_SERVICE, attrs);
                        }
  -                     else if(0 == wcscmp((wchar_t*) localname, kw_rqf))
  +                     else if(0 == wcscmp(localname, kw_rqf))
                        {  
                                m_lev1 = WSDD_REQFLOW;
                                ProcessAttributes(WSDD_REQFLOW, attrs);
                        }
  -                     else if(0 == wcscmp((wchar_t*) localname, kw_rsf))
  +                     else if(0 == wcscmp(localname, kw_rsf))
                        {  
                                m_lev1 = WSDD_RESFLOW;
                                ProcessAttributes(WSDD_RESFLOW, attrs);
  @@ -454,19 +454,19 @@
                        }
                break;
                case WSDD_HANDLER:
  -                     if(0 == wcscmp((wchar_t*) localname, kw_param))
  +                     if(0 == wcscmp(localname, kw_param))
                        {  
                                GetParameters(WSDD_HANDLER, attrs);
                        }
   
                break;
                case WSDD_TRANSPORT:
  -                     if(0 == wcscmp((wchar_t*) localname, kw_rqf))
  +                     if(0 == wcscmp(localname, kw_rqf))
                        {  
                                m_lev1 = WSDD_REQFLOW;
                                ProcessAttributes(WSDD_REQFLOW, attrs);
                        }
  -                     else if(0 == wcscmp((wchar_t*) localname, kw_rsf))
  +                     else if(0 == wcscmp(localname, kw_rsf))
                        {  
                                m_lev1 = WSDD_RESFLOW;
                                ProcessAttributes(WSDD_RESFLOW, attrs);
  @@ -476,19 +476,19 @@
        }
        else // inside a requestFlow or responseFlow elements
        {
  -             if(0 == wcscmp((wchar_t*) localname, kw_param))
  +             if(0 == wcscmp(localname, kw_param))
                {  
                        GetParameters(m_lev2, attrs); //must be parameters of a 
handler or a chain
                }
   
  -             else if(0 == wcscmp((wchar_t*) localname, kw_hdl))
  +             else if(0 == wcscmp(localname, kw_hdl))
                {  
                        m_lev2 = WSDD_HANDLER;
                        m_pHandler = new WSDDHandler();
                        ProcessAttributes(WSDD_HANDLER, attrs);
                        //get handler name and type if any
                }
  -             else if(0 == wcscmp((wchar_t*) localname, kw_chain))
  +             else if(0 == wcscmp(localname, kw_chain))
                {
   
                }
  @@ -503,14 +503,14 @@
   void WSDDDocument::startPrefixMapping(const XMLCh* const prefix, const XMLCh* const 
uri)
   {
   //   AxisString sPrifix = prefix;
  -     AxisString sUri = (wchar_t*) uri;
  -     m_NsStack[(wchar_t*) prefix] = (wchar_t*)  uri; //I think the same prifix 
cannot repeat ???
  +     AxisString sUri = uri;
  +     m_NsStack[prefix] = uri; //I think the same prifix cannot repeat ???
   }
   
   void WSDDDocument::endPrefixMapping(const XMLCh* const prefix)
   {
   //   string sPrifix = prefix;
  -     m_NsStack.erase((wchar_t*) prefix); //I think the same prifix cannot repeat ???
  +     m_NsStack.erase(prefix); //I think the same prifix cannot repeat ???
   }
   
   void  WSDDDocument::characters (const XMLCh *const chars, const unsigned int length)
  
  
  

Reply via email to