You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by su...@apache.org on 2003/09/02 14:03:50 UTC

cvs commit: xml-axis/c/src/wsdd WSDDDocument.cpp

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)