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, 
00094                 const void* pBufferid)=0;
00126     virtual AXIS_TRANSPORT_STATUS getBytes(char* pcBuffer, int* piRetSize)=0;
00127 };
00128 
00140 class SOAPTransport : public AxisIOStream
00141 {
00142 public:
00143     virtual ~SOAPTransport(){};
00156     virtual int openConnection()=0;
00161     virtual void closeConnection()=0;
00171     virtual void registerReleaseBufferCallback(
00172     AXIS_ENGINE_CALLBACK_RELEASE_SEND_BUFFER pFunct)=0;
00184     virtual void setTransportProperty(AXIS_TRANSPORT_INFORMATION_TYPE eType,
00185     const char* pcValue)=0;
00194     virtual const char* getTransportProperty(
00195     AXIS_TRANSPORT_INFORMATION_TYPE eType)=0;
00205     virtual void setTransportProperty(const char* pcKey, const char* pcValue)=0;
00213     virtual const char* getTransportProperty(const char* pcKey)=0;
00226     virtual void setAttachment(const char* pcAttachmentid, const char* pcAttachment)=0;
00242     virtual const char* getAttachment(const char* pcAttachmentid)=0;
00256     virtual void setEndpointUri(const char* pcEndpointUri)=0;
00264     virtual void setSessionId(const char* pcSessionId)=0;
00272     virtual const char* getSessionId()=0;
00283     virtual const char* getServiceName()=0;
00292     virtual AXIS_PROTOCOL_TYPE getProtocol()=0;
00302     virtual int getSubProtocol()=0;
00309     virtual AXIS_TRANSPORT_STATUS flushOutput()=0;
00323     virtual void setProxy(const char* pcProxyHost, unsigned int uiProxyPort) {}
00324 
00330     virtual void setTimeout(const long lSeconds) = 0;
00331 
00332 protected:
00336     char* m_pcEndpointUri;
00342     AXIS_ENGINE_CALLBACK_RELEASE_SEND_BUFFER m_pReleaseBufferCallback;
00343 
00344 };
00345 
00346 #endif
00347 
00348 #endif // !defined(AXIS_SOAPTRANSPORT_H__OF_AXIS_INCLUDED_)

Generated on Fri Jul 9 13:18:29 2004 for AxisC++ by doxygen1.2.18