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 sa...@apache.org on 2004/06/11 12:58:37 UTC
cvs commit: ws-axis/c/include/axis/client Stub.h
samisa 2004/06/11 03:58:37
Modified: c/include/axis/client Stub.h
Log:
Added get/remove methods for SOAP/trasport headers.
Added doxygen comment for API docs
Revision Changes Path
1.11 +190 -6 ws-axis/c/include/axis/client/Stub.h
Index: Stub.h
===================================================================
RCS file: /home/cvs/ws-axis/c/include/axis/client/Stub.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Stub.h 11 Jun 2004 07:30:13 -0000 1.10
+++ Stub.h 11 Jun 2004 10:58:36 -0000 1.11
@@ -133,7 +133,25 @@
char* getNextTrasportPropertyKey();
/**
- * Iterator for trasport property values.
+ * Accessor for trasport property keys.
+ *
+ * This method gives access to the key corresponding to the trasport key
+ * currently being pointed by trasport property key iterator.
+ *
+ * getFirstTrasportPropertyKey() method must have been called at least once
+ * before this method is called. If not behaviour is undefined.
+ *
+ * This method does not advance the iterator.
+ * Repeated calls always retuen the same key unless
+ * getNextTrasportPropertyKey() is called in between.
+ *
+ * @return Current transport property key. If there are no trasport
+ * properties set or if iterator is at the end of the list, returns NULL.
+ */
+ char* getCurrentTrasportPropertyKey();
+
+ /**
+ * Accessor for trasport property values.
*
* This method gives access to the value corresponding to the trasport key
* currently being pointed by trasport property key iterator.
@@ -147,12 +165,36 @@
* Repeated calls always retuen the same value unless
* getNextTrasportPropertyKey() is called in between.
*
- * @return Next transport property value. If there are no trasport
+ * @return Current transport property value. If there are no trasport
* properties set or if iterator is at the end of the list, returns NULL.
*/
char* getCurrentTrasportPropertyValue();
+ /**
+ * Deletes the trasport property key:value pair currently pointed to by
+ * the iterator.
+ */
+ void deleteCurrentTrasportProperty();
+ /**
+ * Deletes the given occerance of the trasport property key:value pair
+ * corresponding to the given key.
+ *
+ * This method does not advance the iterator in line with the deletes done.
+ * In case you want to access the trasport properties after using this
+ * method, it is advisable to reinitialize the iterator using
+ * getFirstTrasportPropertyKey();
+ * However you can use this method despite where the iterator is
+ * pointing currently.
+ *
+ * @param pcKey Key of the trasport property key:value pair to be deleted
+ * If the given key is not set currently, nothing will happen.
+ * @param uiOccurance Which occerance of the key to be deleted, because
+ * there can be multiple values for the same key.
+ * Default is to delete the first occurance.
+ * Count starts from 1.
+ */
+ void deleteTrasportProperty(char* pcKey, unsigned int uiOccurance = 1);
/**
* Create and add a SOAP header block to the Stub.
@@ -219,6 +261,77 @@
AxisChar * pachUri);
/**
+ * Iterator initiatior for SOAP header blocks
+ *
+ * This method must be called first to initiate access to the list of
+ * SOAP header blocks.
+ *
+ * @return First SOAP header block pointer. If there are no SOAP header
+ * blocks set, returns NULL.
+ */
+ IHeaderBlock* getFirstSOAPHeaderBlock();
+
+ /**
+ * Iterator for SOAP header blocks
+ *
+ * getFirstSOAPHeaderBlock() method must have been called at least once
+ * before this method is called. If not behaviour is undefined.
+ *
+ * This method advances the iterator by one position.
+ * Repeated calls always retuen the next value.
+ *
+ * @return Next SOAP header block pointer. If there are no SOAP header
+ * blocks set or if iterator is at the end of the list, returns NULL.
+ */
+ IHeaderBlock* getNextSOAPHeaderBlock();
+
+ /**
+ * Accessor for SOAP header blocks
+ *
+ * This method gives access to the SOAP header block pointer corresponding
+ * to the SOAP header block currently being pointed by SOAP header blocks
+ * iterator.
+ *
+ * getFirstSOAPHeaderBlock() method must have been called at least once
+ * before this method is called. If not behaviour is undefined.
+ *
+ * This method does not advance the iterator.
+ * Repeated calls always retuen the same key unless
+ * getNextSOAPHeaderBlock() is called in between.
+ *
+ * @return Current SOAP header block pointer. If there are no SOAP header
+ * block set or if iterator is at the end of the list, returns NULL.
+ */
+ IHeaderBlock* getCurrentSOAPHeaderBlock();
+
+ /**
+ * Deletes the SOAP header block currently pointed to by
+ * the iterator.
+ */
+ void deleteCurrentSOAPHeaderBlock();
+
+ /**
+ * Deletes the given SOAP header block pointer from the current list of
+ * SOAP header blocks.
+ *
+ * This method does a pointer comparison. It does not compare the contents
+ * within objects.
+ * Hence it is expected that either the pointer returned by the
+ * create method or by one of the iterator methods would be used with
+ * this method.
+ *
+ * This method does not advance the iterator in line with the deletes done.
+ * In case you want to access the SOAP header blocks after using this
+ * method, it is advisable to reinitialize the iterator using
+ * getFirstSOAPHeaderBlock();
+ * However you can use this method despite where the iterator is
+ * pointing currently.
+ *
+ * @param pHeaderBlock Pointer of the header block to be deleted.
+ */
+ void deleteSOAPHeaderBlock(IHeaderBlock* pHeaderBlock);
+
+ /**
* Set proxy server and port for transport.
*
* @param pcProxyHost Host name of proxy server
@@ -235,6 +348,77 @@
* Sets a Attribute to the SOAPMethod, using the given Attribute data.
*/
void setSOAPMethodAttribute(const AxisChar *pLocalname, const AxisChar *pPrefix, const AxisChar* pUri, const AxisChar *pValue);
+
+ /**
+ * Iterator initiatior for SOAP method attributes
+ *
+ * This method must be called first to initiate access to the list of
+ * SOAP method attributes.
+ *
+ * @return First SOAP method attribute pointer. If there are no SOAP method
+ * attributes set, returns NULL.
+ */
+ Attribute* getFirstSOAPMethodAttribute();
+
+ /**
+ * Iterator for SOAP method attributes
+ *
+ * getFirstSOAPMethodAttribute() method must have been called at least once
+ * before this method is called. If not behaviour is undefined.
+ *
+ * This method advances the iterator by one position.
+ * Repeated calls always retuen the next value.
+ *
+ * @return Next SOAP method attribute pointer. If there are no SOAP method
+ * attributes set or if iterator is at the end of the list, returns NULL.
+ */
+ Attribute* getNextSOAPMethodAttribute();
+
+ /**
+ * Accessor for SOAP method attributes
+ *
+ * This method gives access to the SOAP method attribute pointer corresponding
+ * to the SOAP method attribute currently being pointed by SOAP method
+ * attributes iterator.
+ *
+ * getFirstSOAPMethodAttribute() method must have been called at least once
+ * before this method is called. If not behaviour is undefined.
+ *
+ * This method does not advance the iterator.
+ * Repeated calls always retuen the same key unless
+ * getNextSOAPMethodAttribute() is called in between.
+ *
+ * @return Current SOAP method attribute pointer. If there are no SOAP method
+ * attribute set or if iterator is at the end of the list, returns NULL.
+ */
+ Attribute* getCurrentSOAPMethodAttribute();
+
+ /**
+ * Deletes the SOAP method attribute currently pointed to by
+ * the iterator.
+ */
+ void deleteCurrentSOAPMethodAttribute();
+
+ /**
+ * Deletes the given occerance of the SOAP method attribute from
+ * the current list of SOAP method attributes
+ *
+ * This method does a pointer comparison. It does not compare the contents
+ * within objects.
+ * Hence it is expected that either the pointer returned by the
+ * create method or by one of the iterator methods would be used with
+ * this method.
+ *
+ * This method does not advance the iterator in line with the deletes done.
+ * In case you want to access the SOAP method attributes after using this
+ * method, it is advisable to reinitialize the iterator using
+ * getFirstSOAPMethodAttribute();
+ * However you can use this method despite where the iterator is
+ * pointing currently.
+ *
+ * @param pAttribute Pointer of Attribute to be deleted
+ */
+ void deleteSOAPMethodAttribute(Attribute* pAttribute);
/**
* Set transport timeout.
@@ -296,7 +480,7 @@
/**
* Trasport keys iterator
*/
- vector <char*>::const_iterator m_viCurrentKey;
+ vector <char*>::iterator m_viCurrentKey;
/**
* Trasport property values
@@ -306,7 +490,7 @@
/**
* Trasport keys iterator
*/
- vector <char*>::const_iterator m_viCurrentValue;
+ vector <char*>::iterator m_viCurrentValue;
/**
* Vector of Header Blok pointers
@@ -316,7 +500,7 @@
/**
* Trasport keys iterator
*/
- vector <IHeaderBlock *>::const_iterator m_viCurrentSOAPHeaderBlock;
+ vector <IHeaderBlock *>::iterator m_viCurrentSOAPHeaderBlock;
/**
* List of SOAPMethod Attributes
@@ -326,7 +510,7 @@
/**
* Trasport keys iterator
*/
- vector <Attribute*>::const_iterator m_viCurrentSOAPMethodAttribute;
+ vector <Attribute*>::iterator m_viCurrentSOAPMethodAttribute;
/**
* Timeout in seconds