Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members   Examples  

SOAPTransport.h

Go to the documentation of this file.
00001 /*
00002  *   Copyright 2003-2004 The Apache Software Foundation.
00003  *
00004  *   Licensed under the Apache License, Version 2.0 (the "License");
00005  *   you may not use this file except in compliance with the License.
00006  *   You may obtain a copy of the License at
00007  *
00008  *       http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  *   Unless required by applicable law or agreed to in writing, software
00011  *   distributed under the License is distributed on an "AS IS" BASIS,
00012  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  *   See the License for the specific language governing permissions and
00014  *   limitations under the License.
00015  *
00016  * @author Susantha Kumara (skumara@virtusa.com, susantha@opensource.lk)
00017  * @author Samisa Abeysinghe (sabeysinghe@virtusa.com)
00018  *
00019  */
00020 
00021 /*
00022  * Revision 1.1  2004/05/31 samisa
00023  * Added setProxy
00024  */
00025 
00026 /*
00027  * Revision 1.2  2004/06/08 samisa
00028  * Added setTimeout
00029  */
00030 
00031 #if !defined(AXIS_SOAPTRANSPORT_H__OF_AXIS_INCLUDED_)
00032 #define AXIS_SOAPTRANSPORT_H__OF_AXIS_INCLUDED_
00033 
00034 #include <axis/server/Packet.h>
00035 
00044 #ifdef __cplusplus
00045 
00056 class AxisIOStream
00057 {
00058 public:
00093     virtual AXIS_TRANSPORT_STATUS sendBytes(const char* pcSendBuffer, const void* pBufferid)=0;
00125     virtual AXIS_TRANSPORT_STATUS getBytes(char* pcBuffer, int* piRetSize)=0;
00126 };
00127 
00139 class SOAPTransport : public AxisIOStream
00140 {
00141 public:
00142     virtual ~SOAPTransport(){};
00155     virtual int openConnection()=0;
00160     virtual void closeConnection()=0;
00170     virtual void registerReleaseBufferCallback(
00171     AXIS_ENGINE_CALLBACK_RELEASE_SEND_BUFFER pFunct)=0;
00183     virtual void setTransportProperty(AXIS_TRANSPORT_INFORMATION_TYPE eType,
00184     const char* pcValue)=0;
00193     virtual const char* getTransportProperty(
00194     AXIS_TRANSPORT_INFORMATION_TYPE eType)=0;
00204     virtual void setTransportProperty(const char* pcKey, const char* pcValue)=0;
00212     virtual const char* getTransportProperty(const char* pcKey)=0;
00225     virtual void setAttachment(const char* pcAttachmentid, const char* pcAttachment)=0;
00241     virtual const char* getAttachment(const char* pcAttachmentid)=0;
00255     virtual void setEndpointUri(const char* pcEndpointUri)=0;
00263     virtual void setSessionId(const char* pcSessionId)=0;
00271     virtual const char* getSessionId()=0;
00282     virtual const char* getServiceName()=0;
00291     virtual AXIS_PROTOCOL_TYPE getProtocol()=0;
00301     virtual int getSubProtocol()=0;
00308     virtual AXIS_TRANSPORT_STATUS flushOutput()=0;
00322     virtual void setProxy(const char* pcProxyHost, unsigned int uiProxyPort) {}
00323 
00329     virtual void setTimeout(const long lSeconds) = 0;
00330 
00331 protected:
00335     char* m_pcEndpointUri;
00341     AXIS_ENGINE_CALLBACK_RELEASE_SEND_BUFFER m_pReleaseBufferCallback;
00342 
00343 };
00344 
00345 #endif
00346 
00347 #endif // !defined(AXIS_SOAPTRANSPORT_H__OF_AXIS_INCLUDED_)

Generated on Tue Jun 29 09:27:57 2004 for AxisC++ by doxygen1.2.18