Main Page   Class Hierarchy   Compound List   File List   Compound Members   Examples  

Stub.h

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 
00034 /*
00035  * Revision 1.1  2004/05/31 samisa
00036  * Added setProxy
00037  */
00038 
00039 /*
00040  * Revision 1.2  2004/05/31 roshan
00041  * Added calling conventions
00042  */
00043 
00044 /*
00045  * Revision 1.3  2004/06/01 roshan
00046  * Added setSOAPMethodAttribute
00047  */
00048 
00049 /*
00050  * Revision 1.4  2004/06/08 samisa
00051  * Added setTransportTimeout
00052  */
00053 
00054 /*
00055  * Revision 1.5  2004/06/10 samisa
00056  * Added doxygen comments to help autobuild API docs
00057  */
00058 
00059 /*
00060  * Revision 1.6  2004/06/13 roshan
00061  * Added doxygen comments to help autobuild API docs
00062  */
00063 
00064 #if !defined(_STUB_H____OF_AXIS_INCLUDED_)
00065 #define _STUB_H____OF_AXIS_INCLUDED_
00066 
00067 #include <axis/client/Call.h>
00068 #include <vector>
00069 
00070 class STORAGE_CLASS_INFO Stub
00071 {
00072   public:
00079     Stub (const char *pcEndPointURI);
00080    
00084     virtual ~Stub ();
00085 
00093     void AXISCALL setEndPoint(char *pcEndPointURI);
00094 
00117     void AXISCALL setTransportProperty (const char *pcKey, const char *pcValue);
00118 
00128     char* getFirstTrasportPropertyKey();
00129 
00142     char* getNextTrasportPropertyKey();
00143 
00160     char* getCurrentTrasportPropertyKey();
00161     
00180     char* getCurrentTrasportPropertyValue();
00181 
00186     void deleteCurrentTrasportProperty();
00187 
00206     void deleteTrasportProperty(char* pcKey, unsigned int uiOccurance = 1);
00207 
00268     IHeaderBlock * AXISCALL createSOAPHeaderBlock (AxisChar * pachLocalName,
00269                                      AxisChar * pachPrefix,
00270                                      AxisChar * pachUri);
00271 
00281     IHeaderBlock* getFirstSOAPHeaderBlock();
00282 
00295     IHeaderBlock* getNextSOAPHeaderBlock();
00296 
00314     IHeaderBlock* getCurrentSOAPHeaderBlock();
00315     
00320     void deleteCurrentSOAPHeaderBlock();
00321 
00341     void deleteSOAPHeaderBlock(IHeaderBlock* pHeaderBlock);
00342 
00349     void setProxy(const char* pcProxyHost, unsigned int uiProxyPort);
00350 
00358     void setSOAPMethodAttribute(const AxisChar *pLocalname, const AxisChar *pPrefix, const AxisChar *pValue);
00359 
00368     void setSOAPMethodAttribute(const AxisChar *pLocalname, const AxisChar *pPrefix, const AxisChar* pUri, const AxisChar *pValue);
00369   
00379     Attribute* getFirstSOAPMethodAttribute();
00380 
00393     Attribute* getNextSOAPMethodAttribute();
00394 
00412     Attribute* getCurrentSOAPMethodAttribute();
00413     
00418     void deleteCurrentSOAPMethodAttribute();
00419 
00439     void deleteSOAPMethodAttribute(Attribute* pAttribute);
00440 
00449     void setTransportTimeout(const long lSeconds);
00453         int getStatus();
00454   protected:
00461     void applyUserPreferences();
00462     
00467     void setTransportProperties();
00468   
00473     void setSOAPHeaders();
00474     
00479     void setSOAPMethodAttributes();
00480 
00485     void setTransportTimeout();
00486 
00491     Call *m_pCall;
00492 
00496     vector < char *>m_vKeys;
00497 
00501     vector <char*>::iterator m_viCurrentKey;
00502 
00506     vector < char *>m_vValues;
00507   
00511     vector <char*>::iterator m_viCurrentValue;
00512 
00516     vector < IHeaderBlock * >m_vSOAPHeaderBlocks;
00517 
00521     vector <IHeaderBlock *>::iterator m_viCurrentSOAPHeaderBlock;
00522 
00526     vector <Attribute*> m_vSOAPMethodAttributes;
00527 
00531     vector <Attribute*>::iterator m_viCurrentSOAPMethodAttribute;
00532 
00536     long m_lTimeoutSeconds;
00537 
00538 };
00539 
00540 #endif /* !defined(_STUB_H____OF_AXIS_INCLUDED_) */

Generated on Tue Jun 15 19:13:23 2004 for axiscpp by doxygen1.2.18