Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages | Examples

Stub.hpp

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 */ 00017 00026 /* 00027 * Revision 1.1 2004/05/31 samisa 00028 * Added setProxy 00029 */ 00030 00031 /* 00032 * Revision 1.2 2004/05/31 roshan 00033 * Added calling conventions 00034 */ 00035 00036 /* 00037 * Revision 1.3 2004/06/01 roshan 00038 * Added setSOAPMethodAttribute 00039 */ 00040 00041 /* 00042 * Revision 1.4 2004/06/08 samisa 00043 * Added setTransportTimeout 00044 */ 00045 00046 /* 00047 * Revision 1.5 2004/06/10 samisa 00048 * Added doxygen comments to help autobuild API docs 00049 */ 00050 00051 /* 00052 * Revision 1.6 2004/06/13 roshan 00053 * Added doxygen comments to help autobuild API docs 00054 */ 00055 00056 /* 00057 * Revision 1.7 2004/06/13 susantha 00058 * Added support for writing C web services and handlers 00059 */ 00060 00061 /* 00062 * Revision 1.8 2005/01/06 roshan 00063 * Added the method: 00064 * IHeaderBlock* createSOAPHeaderBlock(AxisChar * pachLocalName, 00065 * AxisChar * pachUri, AxisChar * pachPrefix); 00066 */ 00067 00068 #if !defined(_STUB_H____OF_AXIS_INCLUDED_) 00069 #define _STUB_H____OF_AXIS_INCLUDED_ 00070 00071 #include <axis/client/Call.hpp> 00072 #include <axis/IAttribute.hpp> 00073 #include <vector> 00074 00075 using namespace std; 00076 00093 AXIS_CPP_NAMESPACE_START 00094 00095 class STORAGE_CLASS_INFO Stub 00096 { 00097 public: 00098 00108 Stub(const char *pcEndPointURI, AXIS_PROTOCOL_TYPE eProtocol); 00109 00117 virtual ~Stub(); 00118 00126 void AXISCALL setEndPoint(const char *pcEndPointURI); 00127 00152 void AXISCALL setTrasportProperty(const char *pcKey, const char *pcValue) {}; 00153 00165 const char* getFirstTrasportPropertyKey() {return NULL;}; 00166 00167 00182 const char* getNextTrasportPropertyKey() {return NULL;}; 00183 00202 const char* getCurrentTrasportPropertyKey() {return NULL;}; 00203 00224 const char* getCurrentTrasportPropertyValue() {return NULL;}; 00225 00232 void deleteCurrentTrasportProperty(){}; 00233 00254 void deleteTrasportProperty(char* pcKey, unsigned int uiOccurance = 1){}; 00255 00278 void AXISCALL setTransportProperty(const char *pcKey, const char *pcValue); 00279 00280 00290 const char* getFirstTransportPropertyKey(); 00291 00292 00305 const char* getNextTransportPropertyKey(); 00306 00323 const char* getCurrentTransportPropertyKey(); 00324 00343 const char* getCurrentTransportPropertyValue(); 00344 00349 void deleteCurrentTransportProperty(); 00350 00369 void deleteTransportProperty(char* pcKey, unsigned int uiOccurance = 1); 00370 00371 00379 void setHandlerProperty(AxisChar* name, void* value, int len); 00380 00440 IHeaderBlock * AXISCALL createSOAPHeaderBlock(AxisChar * pachLocalName, 00441 AxisChar * pachUri); 00442 00504 IHeaderBlock* AXISCALL createSOAPHeaderBlock(AxisChar * pachLocalName, 00505 AxisChar * pachUri, AxisChar * pachPrefix); 00506 00516 IHeaderBlock* getFirstSOAPHeaderBlock(); 00517 00530 IHeaderBlock* getNextSOAPHeaderBlock(); 00531 00549 IHeaderBlock* getCurrentSOAPHeaderBlock(); 00550 00555 void deleteCurrentSOAPHeaderBlock(); 00556 00576 void deleteSOAPHeaderBlock(IHeaderBlock* pHeaderBlock); 00577 00584 void setProxy(const char* pcProxyHost, unsigned int uiProxyPort); 00585 00593 void setSOAPMethodAttribute(const AxisChar *pLocalname, const AxisChar *pPrefix, const AxisChar *pValue); 00594 00603 void setSOAPMethodAttribute(const AxisChar *pLocalname, const AxisChar *pPrefix, const AxisChar* pUri, const AxisChar *pValue); 00604 00614 IAttribute* getFirstSOAPMethodAttribute(); 00615 00628 IAttribute* getNextSOAPMethodAttribute(); 00629 00647 IAttribute* getCurrentSOAPMethodAttribute(); 00648 00653 void deleteCurrentSOAPMethodAttribute(); 00654 00674 void deleteSOAPMethodAttribute(IAttribute* pAttribute); 00675 00684 void setTransportTimeout(const long lSeconds); 00688 int getStatus(); 00692 const AxisChar* AXISCALL getNamespacePrefix(const AxisChar* pNamespace); 00693 00698 void setMaintainSession(bool bSession); 00699 00704 void setTransportProtocol(AXIS_PROTOCOL_TYPE eProtocol); 00705 00710 AXIS_PROTOCOL_TYPE getTransportProtocol(); 00711 00712 protected: 00719 void applyUserPreferences(); 00720 00721 00726 void setSOAPHeaders(); 00727 00732 void setSOAPMethodAttributes(); 00733 00738 Call *getCall() { return m_pCall; } 00739 Call *m_pCall; 00740 00744 #ifdef WIN32 00745 #pragma warning (disable : 4251) 00746 #endif 00747 vector < IHeaderBlock * >m_vSOAPHeaderBlocks; 00748 #ifdef WIN32 00749 #pragma warning (default : 4251) 00750 #endif 00751 00754 vector <IHeaderBlock *>::iterator m_viCurrentSOAPHeaderBlock; 00755 00759 #ifdef WIN32 00760 #pragma warning (disable : 4251) 00761 #endif 00762 vector <IAttribute*> m_vSOAPMethodAttributes; 00763 #ifdef WIN32 00764 #pragma warning (default : 4251) 00765 #endif 00766 00769 vector <IAttribute*>::iterator m_viCurrentSOAPMethodAttribute; 00770 00774 SOAPTransport* m_pTransport; 00775 00776 }; 00777 00778 AXIS_CPP_NAMESPACE_END 00779 00780 #endif /* !defined(_STUB_H____OF_AXIS_INCLUDED_) */

Generated on Tue Feb 8 14:34:17 2005 for AxisC++ by doxygen 1.3.8