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 ra...@apache.org on 2005/03/11 10:59:00 UTC

cvs commit: ws-axis/c/include/axis GDefine.hpp IHandlerSoapSerializer.hpp

rangika     2005/03/11 01:59:00

  Modified:    c/src/soap SoapHeader.cpp SoapHeader.h SoapSerializer.cpp
                        SoapSerializer.h
               c/include/axis GDefine.hpp IHandlerSoapSerializer.hpp
  Log:
  Added some functionalities to deal with soapHeaders
  
  Revision  Changes    Path
  1.36      +34 -0     ws-axis/c/src/soap/SoapHeader.cpp
  
  Index: SoapHeader.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/soap/SoapHeader.cpp,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- SoapHeader.cpp	31 Jan 2005 13:00:53 -0000	1.35
  +++ SoapHeader.cpp	11 Mar 2005 09:58:59 -0000	1.36
  @@ -276,4 +276,38 @@
   	return tmpIHeaderBlock;
   }
   
  +
  +int SoapHeader::deleteHeaderBlock(const AxisChar *pName,
  +                                         const AxisChar *pNamespace)
  +{
  +    int iStatus = AXIS_SUCCESS;
  +    HeaderBlock* tmpHeaderBlock = NULL;
  +
  +    list<IHeaderBlock*>::iterator itCurrHeaderBlock= m_headerBlocks.begin();
  +    
  +    while (itCurrHeaderBlock != m_headerBlocks.end())
  +    {
  +        tmpHeaderBlock = (HeaderBlock*)(*itCurrHeaderBlock);
  +
  +        if ((strcmp(((tmpHeaderBlock)->m_localname).c_str(), pName) == 0) && 
  +                (strcmp(((tmpHeaderBlock)->m_uri).c_str(), pNamespace) == 0))
  +        {
  +            m_headerBlocks.remove(tmpHeaderBlock);            
  +            break; 
  +        }
  +        else
  +        {
  +            itCurrHeaderBlock++;
  +        }
  +    
  +    }
  +
  +    if (m_headerBlocks.empty())
  +    {
  +        iStatus = AXIS_NO_REMAINING_SOAP_HEADERS;                     
  +    }
  +    
  +    return iStatus;
  +}
  +
   AXIS_CPP_NAMESPACE_END
  
  
  
  1.15      +9 -0      ws-axis/c/src/soap/SoapHeader.h
  
  Index: SoapHeader.h
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/soap/SoapHeader.h,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- SoapHeader.h	13 Jan 2005 14:05:42 -0000	1.14
  +++ SoapHeader.h	11 Mar 2005 09:58:59 -0000	1.15
  @@ -141,6 +141,15 @@
         */
       void addHeaderBlock(IHeaderBlock* headerBlock);
   
  +/**
  +      * Deletes a header block.
  +      *
  +      * 
  +      */
  +
  +int deleteHeaderBlock(const AxisChar *pName,
  +                                         const AxisChar *pNamespace);
  +
       /**
         * The Constructor.
         */
  
  
  
  1.103     +18 -0     ws-axis/c/src/soap/SoapSerializer.cpp
  
  Index: SoapSerializer.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/soap/SoapSerializer.cpp,v
  retrieving revision 1.102
  retrieving revision 1.103
  diff -u -r1.102 -r1.103
  --- SoapSerializer.cpp	7 Mar 2005 15:36:44 -0000	1.102
  +++ SoapSerializer.cpp	11 Mar 2005 09:58:59 -0000	1.103
  @@ -1287,4 +1287,22 @@
   	}
   }
   
  +
  +int SoapSerializer::deleteHeaderBlock(const AxisChar* pName, 
  +									   const AxisChar* pNamespace)
  +{
  +   
  +    int iStatus = AXIS_SUCCESS;
  +    iStatus = m_pSoapEnvelope->m_pSoapHeader->deleteHeaderBlock(pName,pNamespace);
  +    //No remaining soap header blocks, so will delete the SoapHeader    
  +    if (iStatus == AXIS_NO_REMAINING_SOAP_HEADERS)     
  +    {
  +        delete m_pSoapEnvelope->m_pSoapHeader;
  +        m_pSoapEnvelope->m_pSoapHeader = NULL;
  +        iStatus = AXIS_SUCCESS;
  +    }
  +
  +    return iStatus;    
  +}
  +
   AXIS_CPP_NAMESPACE_END
  
  
  
  1.43      +1 -0      ws-axis/c/src/soap/SoapSerializer.h
  
  Index: SoapSerializer.h
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/soap/SoapSerializer.h,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- SoapSerializer.h	23 Feb 2005 15:31:20 -0000	1.42
  +++ SoapSerializer.h	11 Mar 2005 09:58:59 -0000	1.43
  @@ -211,6 +211,7 @@
   	int serializeAnyObject(AnyType* pAnyObject);
       int serializeAsChardata(void* pValue, XSDTYPE type);
   	AxisXMLString getNamespaceURL( string sNameSpace);
  +    int deleteHeaderBlock(const AxisChar* pName, const AxisChar* pNamespace);    
   };
   
   AXIS_CPP_NAMESPACE_END
  
  
  
  1.6       +2 -1      ws-axis/c/include/axis/GDefine.hpp
  
  Index: GDefine.hpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/include/axis/GDefine.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- GDefine.hpp	28 Jan 2005 12:03:59 -0000	1.5
  +++ GDefine.hpp	11 Mar 2005 09:59:00 -0000	1.6
  @@ -49,7 +49,8 @@
       AXIS_FAIL = -1, 
       AXIS_OBJECT_ALREADY_EXISTS=1,
       AXIS_NO_SUCH_HANDLER,
  -    AXIS_NO_SUCH_SERVICE
  +    AXIS_NO_SUCH_SERVICE,
  +    AXIS_NO_REMAINING_SOAP_HEADERS
   } AXIS_GLOBAL_ERROR;
   typedef enum 
   { 
  
  
  
  1.6       +13 -0     ws-axis/c/include/axis/IHandlerSoapSerializer.hpp
  
  Index: IHandlerSoapSerializer.hpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/include/axis/IHandlerSoapSerializer.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- IHandlerSoapSerializer.hpp	3 Feb 2005 05:10:21 -0000	1.5
  +++ IHandlerSoapSerializer.hpp	11 Mar 2005 09:59:00 -0000	1.6
  @@ -141,6 +141,19 @@
       virtual int AXISCALL setBodyAsBase64Binary(xsd__base64Binary body)=0;
       virtual const AxisChar* AXISCALL getBodyAsString()=0;
   
  +
  +/**
  +*Used to delete a header block
  +*
  +*/
  +
  +virtual int deleteHeaderBlock(const AxisChar* pName, const AxisChar* pNamespace)=0;
  +/**
  +*Used to delete all the header block
  +*
  +*/
  +virtual int removeSoapHeader()=0;
  +
   	/**
   	  * Adds the namespace declaration to the SOAP Envelope.
   	  */