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 2007/01/16 03:09:51 UTC
svn commit: r496572 [2/5] - in /webservices/axis2/trunk/c: axiom/include/
axiom/src/soap/ util/include/
Modified: webservices/axis2/trunk/c/axiom/include/axiom_soap_header.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/include/axiom_soap_header.h?view=diff&rev=496572&r1=496571&r2=496572
==============================================================================
--- webservices/axis2/trunk/c/axiom/include/axiom_soap_header.h (original)
+++ webservices/axis2/trunk/c/axiom/include/axiom_soap_header.h Mon Jan 15 18:09:50 2007
@@ -37,7 +37,6 @@
#endif
typedef struct axiom_soap_header axiom_soap_header_t;
- typedef struct axiom_soap_header_ops axiom_soap_header_ops_t;
struct axiom_soap_header_block;
struct axiom_soap_builder;
@@ -49,182 +48,150 @@
* @{
*/
- /**
- * \brief soap_header operations struct
- * ops Encapsulator struct of axiom_soap header
- */
- struct axiom_soap_header_ops
- {
- /**
- * Free an axiom_soap_header
- * @param header pointer to soap_header struct
- * @param env Environment. MUST NOT be NULL
- * @return satus of the op. AXIS2_SUCCESS on success
- * else AXIS2_FAILURE
- */
- axis2_status_t(AXIS2_CALL *
- free_fn)(axiom_soap_header_t *header,
- const axis2_env_t *env);
-
- /**
- * create a new axiom_soap_header_block_t struct initialized with the
- * specified name and adds it to passed axiom_soap_header_t struct.
- * @param env environment must not be null
- * @param localName
- * @param ns
- * @return The newly created axiom_soap_header_block_t struct
- */
- struct axiom_soap_header_block*(AXIS2_CALL *
- add_header_block)(axiom_soap_header_t* header,
- const axis2_env_t *env,
- const axis2_char_t *localname,
- axiom_namespace_t *ns);
- /**
- * returns a hash_table of all the soap_header_block_t struct in this
- * soap_header_t object that have the the specified actor. An
- * actor is a global attribute that indicates the intermediate parties to
- * whom the message should be sent. An actor receives the message and then
- * sends it to the next actor. The default actor is the ultimate intended
- * recipient for the message, so if no actor attribute is set in a
- * axiom_soap_header_t struct the message is sent to its ultimate
- * destination.
- */
- axis2_hash_t*(AXIS2_CALL *
- examine_header_blocks)(axiom_soap_header_t* header,
- const axis2_env_t *env,
- axis2_char_t* param_role);
- /**
- * returns an arraylist of header_blocks which has a given namesapce uri
- * @param header
- * @param env envirbonment must not be null
- * @param ns_uri namespace uri
- * @return pointer to axis2_array_list_t, or null if no header_blocks with
- * given namespace uri exists
- * The returned array_list must be freed by the user.
- */
- axis2_array_list_t*(AXIS2_CALL *
- get_header_blocks_with_namespace_uri)(axiom_soap_header_t* header,
- const axis2_env_t *env,
- const axis2_char_t *ns_uri);
- /**
- * returns an iterator to iterate through all soap header block's om nodes
- * @param header
- * @param env environment
- * @returns axiom_children_qname_iterator_t or null if no header blocks
- * present
- */
- axiom_children_qname_iterator_t*(AXIS2_CALL *
- examine_all_header_blocks)(axiom_soap_header_t* header,
- const axis2_env_t *env);
- /**
- * returns an iterator to iterate through all header blocks om_nodes
- * with the matching role attribute
- * @param header soap_header
- * @param env environment
- * @param role
- * @returns iterator or null if no header blocks present with matching
- * role attribute
- */
- axiom_children_with_specific_attribute_iterator_t *(AXIS2_CALL *
- extract_header_blocks)(axiom_soap_header_t *header,
- const axis2_env_t *env,
- axis2_char_t *role);
-
- /**
- * returns the axiom_node_t struct wrapped in soap_header
- * @param header soap_header_t
- * @param env environment must not be null
- * @return axiom_node_t
- */
- axiom_node_t*(AXIS2_CALL *
- get_base_node)(axiom_soap_header_t *header,
- const axis2_env_t *env);
- /**
- * return the soap_version of this soap_header
- * @param header soap_header
- * @param env environment must not be null
- * @return AXIOM_SOAP11 or AXIOM_SOAP12
- */
- int(AXIS2_CALL *
- get_soap_version)(axiom_soap_header_t *header,
- const axis2_env_t *env);
-
-
- /**
- * @returns a hash table of all header_blocks in this header
- * the returned hash is a readonly hash should not be modified
- */
- axis2_hash_t*(AXIS2_CALL *
- get_all_header_blocks)(axiom_soap_header_t *header,
- const axis2_env_t *env);
- /**
- * remove header block that matches to the given qname
- * qname should not be null
- *
- */
- axis2_status_t(AXIS2_CALL *
- remove_header_block)(axiom_soap_header_t *header,
- const axis2_env_t *env,
- axis2_qname_t *qname);
-
-
- };
+ AXIS2_EXTERN axiom_soap_header_t * AXIS2_CALL
+ axiom_soap_header_create_with_parent(const axis2_env_t *env,
+ struct axiom_soap_envelope *envelope);
/**
- * \brief soap_header struct
- * represent a soap_header
+ * Free an axiom_soap_header
+ * @param header pointer to soap_header struct
+ * @param env Environment. MUST NOT be NULL
+ * @return satus of the op. AXIS2_SUCCESS on success
+ * else AXIS2_FAILURE
*/
- struct axiom_soap_header
- {
- /** operation of axiom_soap_header struct */
- axiom_soap_header_ops_t *ops;
-
- };
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axiom_soap_header_free(axiom_soap_header_t *header,
+ const axis2_env_t *env);
/**
- * creates a soap struct
- * @param env Environment. MUST NOT be NULL
- */
-
-
-
- AXIS2_EXTERN axiom_soap_header_t * AXIS2_CALL
- axiom_soap_header_create_with_parent(const axis2_env_t *env,
- struct axiom_soap_envelope *envelope);
+ * create a new axiom_soap_header_block_t struct initialized with the
+ * specified name and adds it to passed axiom_soap_header_t struct.
+ * @param env environment must not be null
+ * @param localName
+ * @param ns
+ * @return The newly created axiom_soap_header_block_t struct
+ */
+ AXIS2_EXTERN struct axiom_soap_header_block* AXIS2_CALL
+ axiom_soap_header_add_header_block(axiom_soap_header_t* header,
+ const axis2_env_t *env,
+ const axis2_char_t *localname,
+ axiom_namespace_t *ns);
+ /**
+ * returns a hash_table of all the soap_header_block_t struct in this
+ * soap_header_t object that have the the specified actor. An
+ * actor is a global attribute that indicates the intermediate parties to
+ * whom the message should be sent. An actor receives the message and then
+ * sends it to the next actor. The default actor is the ultimate intended
+ * recipient for the message, so if no actor attribute is set in a
+ * axiom_soap_header_t struct the message is sent to its ultimate
+ * destination.
+ */
+ AXIS2_EXTERN axis2_hash_t* AXIS2_CALL
+ axiom_soap_header_examine_header_blocks(axiom_soap_header_t* header,
+ const axis2_env_t *env,
+ axis2_char_t* param_role);
+ /**
+ * returns an arraylist of header_blocks which has a given namesapce uri
+ * @param header
+ * @param env envirbonment must not be null
+ * @param ns_uri namespace uri
+ * @return pointer to axis2_array_list_t, or null if no header_blocks with
+ * given namespace uri exists
+ * The returned array_list must be freed by the user.
+ */
+ AXIS2_EXTERN axis2_array_list_t* AXIS2_CALL
+ axiom_soap_header_get_header_blocks_with_namespace_uri(axiom_soap_header_t* header,
+ const axis2_env_t *env,
+ const axis2_char_t *ns_uri);
+ /**
+ * returns an iterator to iterate through all soap header block's om nodes
+ * @param header
+ * @param env environment
+ * @returns axiom_children_qname_iterator_t or null if no header blocks
+ * present
+ */
+ AXIS2_EXTERN axiom_children_qname_iterator_t* AXIS2_CALL
+ axiom_soap_header_examine_all_header_blocks(axiom_soap_header_t* header,
+ const axis2_env_t *env);
+ /**
+ * returns an iterator to iterate through all header blocks om_nodes
+ * with the matching role attribute
+ * @param header soap_header
+ * @param env environment
+ * @param role
+ * @returns iterator or null if no header blocks present with matching
+ * role attribute
+ */
+ AXIS2_EXTERN axiom_children_with_specific_attribute_iterator_t * AXIS2_CALL
+ axiom_soap_header_extract_header_blocks(axiom_soap_header_t *header,
+ const axis2_env_t *env,
+ axis2_char_t *role);
- /******************** Macros **************************************************/
+ /**
+ * returns the axiom_node_t struct wrapped in soap_header
+ * @param header soap_header_t
+ * @param env environment must not be null
+ * @return axiom_node_t
+ */
+ AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+ axiom_soap_header_get_base_node(axiom_soap_header_t *header,
+ const axis2_env_t *env);
+ /**
+ * return the soap_version of this soap_header
+ * @param header soap_header
+ * @param env environment must not be null
+ * @return AXIOM_SOAP11 or AXIOM_SOAP12
+ */
+ AXIS2_EXTERN int AXIS2_CALL
+ axiom_soap_header_get_soap_version(axiom_soap_header_t *header,
+ const axis2_env_t *env);
+ /**
+ * @returns a hash table of all header_blocks in this header
+ * the returned hash is a readonly hash should not be modified
+ */
+ AXIS2_EXTERN axis2_hash_t* AXIS2_CALL
+ axiom_soap_header_get_all_header_blocks(axiom_soap_header_t *header,
+ const axis2_env_t *env);
+ /**
+ * remove header block that matches to the given qname
+ * qname should not be null
+ *
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axiom_soap_header_remove_header_block(axiom_soap_header_t *header,
+ const axis2_env_t *env,
+ axis2_qname_t *qname);
- /** free soap_header */
#define AXIOM_SOAP_HEADER_FREE(header , env) \
- ((header)->ops->free_fn(header, env))
+ axiom_soap_header_free(header, env)
#define AXIOM_SOAP_HEADER_ADD_HEADER_BLOCK(header, env, localname, ns) \
- ((header)->ops->add_header_block(header, env, localname, ns))
+ axiom_soap_header_add_header_block(header, env, localname, ns)
#define AXIOM_SOAP_HEADER_EXAMINE_HEADER_BLOCKS(header, env, param_role) \
- ((header)->ops->examine_header_blocks(header, env, param_role))
+ axiom_soap_header_examine_header_blocks(header, env, param_role)
#define AXIOM_SOAP_HEADER_EXAMINE_ALL_HEADER_BLOCKS(header, env) \
- ((header)->ops->examine_all_header_blocks(header, env))
+ axiom_soap_header_examine_all_header_blocks(header, env)
#define AXIOM_SOAP_HEADER_EXTRACT_HEADER_BLOCKS(header, env, role) \
- ((header)->ops->extract_header_blocks(header, env, role))
+ axiom_soap_header_extract_header_blocks(header, env, role)
#define AXIOM_SOAP_HEADER_GET_BASE_NODE(header, env) \
- ((header)->ops->get_base_node(header, env))
+ axiom_soap_header_get_base_node(header, env)
#define AXIOM_SOAP_HEADER_GET_SOAP_VERSION(header, env) \
- ((header)->ops->get_soap_version(header, env))
+ axiom_soap_header_get_soap_version(header, env)
#define AXIOM_SOAP_HEADER_GET_HEADER_BLOCKS_WITH_NAMESPACE_URI(header, env, uri)\
- ((header)->ops->get_header_blocks_with_namespace_uri(header, env, uri))
+ axiom_soap_header_get_header_blocks_with_namespace_uri(header, env, uri)
#define AXIOM_SOAP_HEADER_GET_ALL_HEADER_BLOCKS(header, env) \
- ((header)->ops->get_all_header_blocks(header, env))
+ axiom_soap_header_get_all_header_blocks(header, env)
#define AXIOM_SOAP_HEADER_REMOVE_HEADER_BLOCK(header, env, qname) \
- ((header)->ops->remove_header_block(header, env, qname))
+ axiom_soap_header_remove_header_block(header, env, qname)
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/trunk/c/axiom/include/axiom_soap_header_block.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/include/axiom_soap_header_block.h?view=diff&rev=496572&r1=496571&r2=496572
==============================================================================
--- webservices/axis2/trunk/c/axiom/include/axiom_soap_header_block.h (original)
+++ webservices/axis2/trunk/c/axiom/include/axiom_soap_header_block.h Mon Jan 15 18:09:50 2007
@@ -35,7 +35,6 @@
#endif
typedef struct axiom_soap_header_block axiom_soap_header_block_t;
- typedef struct axiom_soap_header_block_ops axiom_soap_header_block_ops_t;
/**
* @defgroup axiom_soap_header_block soap header block
@@ -44,146 +43,119 @@
*/
/**
- * \brief soap_header_block operations struct
- * ops Encapsulator struct of axiom_soap header_block
- */
- struct axiom_soap_header_block_ops
- {
- /**
- * Free an axiom_soap_header_block
- * @param header_block pointer to soap_header_block struct
- * @param env Environment. MUST NOT be NULL
- * @return satus of the op. AXIS2_SUCCESS on success
- * else AXIS2_FAILURE
- */
- axis2_status_t(AXIS2_CALL *
- free_fn)(axiom_soap_header_block_t *header_block,
- const axis2_env_t *env);
-
- axis2_status_t(AXIS2_CALL *
- set_role)(axiom_soap_header_block_t *header_block,
- const axis2_env_t *env,
- axis2_char_t *uri);
-
- axis2_status_t(AXIS2_CALL *
- set_must_understand_with_bool)(axiom_soap_header_block_t *header_block,
- const axis2_env_t *env,
- axis2_bool_t must_understand);
-
- axis2_status_t(AXIS2_CALL *
- set_must_understand_with_string)(axiom_soap_header_block_t *header_block,
- const axis2_env_t *env,
- axis2_char_t *must_understand);
-
- axis2_bool_t(AXIS2_CALL *
- get_must_understand)(axiom_soap_header_block_t *header_block,
- const axis2_env_t *env);
-
-
- axis2_bool_t(AXIS2_CALL *
- is_processed)(axiom_soap_header_block_t *header_block,
- const axis2_env_t *env);
-
- axis2_status_t(AXIS2_CALL *
- set_processed)(axiom_soap_header_block_t *header_block,
- const axis2_env_t *env);
-
- axis2_char_t*(AXIS2_CALL *
- get_role)(axiom_soap_header_block_t *header_block,
- const axis2_env_t *env);
-
- axis2_status_t(AXIS2_CALL *
- set_attribute)(axiom_soap_header_block_t *header_block,
- const axis2_env_t *env,
- const axis2_char_t *attr_name,
- const axis2_char_t *attr_value,
- const axis2_char_t *soap_envelope_namespace_uri);
-
-
- axis2_char_t*(AXIS2_CALL *
- get_attribute)(axiom_soap_header_block_t *header_block,
- const axis2_env_t *env,
- const axis2_char_t *attr_name,
- const axis2_char_t *soap_envelope_namespace_uri);
-
-
- axiom_node_t*(AXIS2_CALL *
- get_base_node)(axiom_soap_header_block_t *header_block,
- const axis2_env_t *env);
-
- int(AXIS2_CALL *
- get_soap_version)(axiom_soap_header_block_t *header_block,
- const axis2_env_t *env);
-
- };
-
- /**
- * \brief soap_header_block struct
- * represent a soap_header_block
- */
- struct axiom_soap_header_block
- {
- /** operation of axiom_soap_header_block struct */
- axiom_soap_header_block_ops_t *ops;
-
- };
-
- /**
* creates a soap struct
* @param env Environment. MUST NOT be NULL
* this is an internal function.
*/
-
-
AXIS2_EXTERN axiom_soap_header_block_t * AXIS2_CALL
axiom_soap_header_block_create_with_parent(const axis2_env_t *env,
const axis2_char_t *localname,
axiom_namespace_t *ns,
struct axiom_soap_header *parent);
- /******************** Macros **************************************************/
+ /**
+ * Free an axiom_soap_header_block
+ * @param header_block pointer to soap_header_block struct
+ * @param env Environment. MUST NOT be NULL
+ * @return satus of the op. AXIS2_SUCCESS on success
+ * else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axiom_soap_header_block_free(axiom_soap_header_block_t *header_block,
+ const axis2_env_t *env);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axiom_soap_header_block_set_role(axiom_soap_header_block_t *header_block,
+ const axis2_env_t *env,
+ axis2_char_t *uri);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axiom_soap_header_block_set_must_understand_with_bool(axiom_soap_header_block_t *header_block,
+ const axis2_env_t *env,
+ axis2_bool_t must_understand);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axiom_soap_header_block_set_must_understand_with_string(axiom_soap_header_block_t *header_block,
+ const axis2_env_t *env,
+ axis2_char_t *must_understand);
+
+ AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+ axiom_soap_header_block_get_must_understand(axiom_soap_header_block_t *header_block,
+ const axis2_env_t *env);
+
+ AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+ axiom_soap_header_block_is_processed(axiom_soap_header_block_t *header_block,
+ const axis2_env_t *env);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axiom_soap_header_block_set_processed(axiom_soap_header_block_t *header_block,
+ const axis2_env_t *env);
+
+ AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+ axiom_soap_header_block_get_role(axiom_soap_header_block_t *header_block,
+ const axis2_env_t *env);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axiom_soap_header_block_set_attribute(axiom_soap_header_block_t *header_block,
+ const axis2_env_t *env,
+ const axis2_char_t *attr_name,
+ const axis2_char_t *attr_value,
+ const axis2_char_t *soap_envelope_namespace_uri);
+
+ AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+ axiom_soap_header_block_get_attribute(axiom_soap_header_block_t *header_block,
+ const axis2_env_t *env,
+ const axis2_char_t *attr_name,
+ const axis2_char_t *soap_envelope_namespace_uri);
+
+ AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+ axiom_soap_header_block_get_base_node(axiom_soap_header_block_t *header_block,
+ const axis2_env_t *env);
+
+ AXIS2_EXTERN int AXIS2_CALL
+ axiom_soap_header_block_get_soap_version(axiom_soap_header_block_t *header_block,
+ const axis2_env_t *env);
- /** free soap_header_block */
#define AXIOM_SOAP_HEADER_BLOCK_FREE(header_block , env) \
- ((header_block)->ops->free_fn(header_block, env))
+ axiom_soap_header_block_free(header_block, env)
#define AXIOM_SOAP_HEADER_BLOCK_GET_ROLE(header_block , env) \
- ((header_block)->ops->get_role(header_block, env))
+ axiom_soap_header_block_get_role(header_block, env)
#define AXIOM_SOAP_HEADER_BLOCK_IS_PROCESSED(header_block , env) \
- ((header_block)->ops->is_processed(header_block, env))
+ axiom_soap_header_block_is_processed(header_block, env)
#define AXIOM_SOAP_HEADER_BLOCK_SET_PRECESSED(header_block , env) \
- ((header_block)->ops->set_processed(header_block, env))
+ axiom_soap_header_block_set_processed(header_block, env)
#define AXIOM_SOAP_HEADER_BLOCK_GET_MUST_UNDERSTAND(header_block, env) \
- ((header_block)->ops->get_must_understand(header_block, env))
+ axiom_soap_header_block_get_must_understand(header_block, env)
#define AXIOM_SOAP_HEADER_BLOCK_SET_MUST_UNDERSTAND_WITH_BOOL(header_block,\
env, must_understand) \
- ((header_block)->ops->set_must_understand_with_bool(header_block, \
- env, must_understand))
+ axiom_soap_header_block_set_must_understand_with_bool(header_block, \
+ env, must_understand)
#define AXIOM_SOAP_HEADER_BLOCK_SET_MUST_UNDERSTAND_WITH_STRING(header_block,\
env, must_understand) \
- ((header_block)->ops->set_must_understand_with_string(header_block, \
- env, must_understand))
+ axiom_soap_header_block_set_must_understand_with_string(header_block, \
+ env, must_understand)
#define AXIOM_SOAP_HEADER_BLOCK_GET_BASE_NODE(header_block, env) \
- ((header_block)->ops->get_base_node(header_block, env))
+ axiom_soap_header_block_get_base_node(header_block, env)
#define AXIOM_SOAP_HEADER_BLOCK_GET_SOAP_VERSION(header_block, env) \
- ((header_block)->ops->get_soap_version(header_block, env))
+ axiom_soap_header_block_get_soap_version(header_block, env)
#define AXIOM_SOAP_HEADER_BLOCK_GET_ATTRIBUTE(header_block, env,\
attr_name, soap_envelope_namespace_uri) \
- ((header_block)->ops->get_attribute(header_block, env, \
- attr_name, soap_envelope_namespace_uri))
+ axiom_soap_header_block_get_attribute(header_block, env, \
+ attr_name, soap_envelope_namespace_uri)
#define AXIOM_SOAP_HEADER_BLOCK_SET_ATTRIBUTE(header_block, env,\
attr_name, attr_value, soap_envelope_namespace_uri) \
- ((header_block)->ops->set_attribute(header_block, env, \
- attr_name, attr_value, soap_envelope_namespace_uri))
+ axiom_soap_header_block_set_attribute(header_block, env, \
+ attr_name, attr_value, soap_envelope_namespace_uri)
/** @} */
Modified: webservices/axis2/trunk/c/axiom/include/axiom_soap_message.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/include/axiom_soap_message.h?view=diff&rev=496572&r1=496571&r2=496572
==============================================================================
--- webservices/axis2/trunk/c/axiom/include/axiom_soap_message.h (original)
+++ webservices/axis2/trunk/c/axiom/include/axiom_soap_message.h Mon Jan 15 18:09:50 2007
@@ -33,8 +33,6 @@
#endif
typedef struct axiom_soap_message axiom_soap_message_t;
- typedef struct axiom_soap_message_ops axiom_soap_message_ops_t;
-
/**
* @defgroup axiom_soap_message soap message
@@ -43,47 +41,6 @@
*/
/**
- * \brief soap_message operations struct
- * ops Encapsulator struct of axiom_soap body
- */
- struct axiom_soap_message_ops
- {
- /**
- * Free an axiom_soap_message
- * @param body pointer to soap_message struct
- * @param env Environment. MUST NOT be NULL
- * @return satus of the op. AXIS2_SUCCESS on success
- * else AXIS2_FAILURE
- */
-
- axis2_status_t(AXIS2_CALL *
- free_fn)(axiom_soap_message_t *message,
- const axis2_env_t *env);
-
- axiom_soap_envelope_t*(AXIS2_CALL *
- get_soap_envelope)(axiom_soap_message_t *message,
- const axis2_env_t *env);
-
- axis2_status_t(AXIS2_CALL *
- serialize)(axiom_soap_message_t *message,
- const axis2_env_t *env,
- axiom_output_t *om_output);
-
-
- };
-
- /**
- * \brief soap_message struct
- * represent a soap_message
- */
- struct axiom_soap_message
- {
- /** operation of axiom_soap_message struct */
- axiom_soap_message_ops_t *ops;
-
- };
-
- /**
* creates a soap message struct
* @param env Environment. MUST NOT be NULL
*/
@@ -92,24 +49,39 @@
axiom_soap_builder_t *soap_builder,
axiom_document_t *om_doc);
- /******************** Macros **************************************************/
-
+ /**
+ * Free an axiom_soap_message
+ * @param body pointer to soap_message struct
+ * @param env Environment. MUST NOT be NULL
+ * @return satus of the op. AXIS2_SUCCESS on success
+ * else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axiom_soap_message_free(axiom_soap_message_t *message,
+ const axis2_env_t *env);
+
+ AXIS2_EXTERN axiom_soap_envelope_t* AXIS2_CALL
+ axiom_soap_message_get_soap_envelope(axiom_soap_message_t *message,
+ const axis2_env_t *env);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axiom_soap_message_serialize(axiom_soap_message_t *message,
+ const axis2_env_t *env,
+ axiom_output_t *om_output);
- /** free soap_message */
#define AXIOM_SOAP_MESSAGE_FREE(message , env) \
- ((message)->ops->free_fn(message, env))
+ ((message)->ops->free(message, env)
#define AXIOM_SOAP_MESSAGE_GET_SOAP_ENVELOPE(message, env) \
- ((message)->ops->get_envelope(message, env))
+ ((message)->ops->get_envelope(message, env)
#define AXIOM_SOAP_MESSAGE_SERIALIZE(message, env, om_output) \
- ((message)->ops->serialize(message, env, om_output))
+ ((message)->ops->serialize(message, env, om_output)
/** @} */
#ifdef __cplusplus
}
#endif
-
-
#endif /* AXIOM_SOAP_MESSAGE_H */
+
Modified: webservices/axis2/trunk/c/axiom/src/soap/axiom_soap11_builder_helper.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/soap/axiom_soap11_builder_helper.h?view=diff&rev=496572&r1=496571&r2=496572
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/soap/axiom_soap11_builder_helper.h (original)
+++ webservices/axis2/trunk/c/axiom/src/soap/axiom_soap11_builder_helper.h Mon Jan 15 18:09:50 2007
@@ -14,16 +14,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
+
#ifndef AXIOM_SOAP11_BUILDER_HELPER_H
#define AXIOM_SOAP11_BUILDER_HELPER_H
-
+
/**
* @file axiom_soap_11_builder_helper.h
* @brief axiom_soap11_builder_helper
*/
-#include <axiom_soap_builder.h>
+#include <axiom_soap_builder.h>
#ifdef __cplusplus
extern "C"
@@ -31,61 +31,42 @@
#endif
-typedef struct axiom_soap11_builder_helper axiom_soap11_builder_helper_t;
-typedef struct axiom_soap11_builder_helper_ops axiom_soap11_builder_helper_ops_t;
-
-/**
- * @defgroup axiom_soap11_builder_helper
- * @ingroup axiom_soap
- * @{
- */
+ typedef struct axiom_soap11_builder_helper axiom_soap11_builder_helper_t;
-/**
- * \brief axiom_soap11_builder_helper operations ops struct
- */
-
- struct axiom_soap11_builder_helper_ops
- {
- axis2_status_t (AXIS2_CALL *free_fn)
- (axiom_soap11_builder_helper_t *builder_helper,
- const axis2_env_t *env);
-
- axis2_status_t (AXIS2_CALL *handle_event)
- (axiom_soap11_builder_helper_t *builder_helper,
- const axis2_env_t *env,
- axiom_node_t *om_element_node,
- int element_level);
- };
-
- /**
- * \brief soap_11_builder_helper struct
- */
-struct axiom_soap11_builder_helper
-{
- axiom_soap11_builder_helper_ops_t *ops;
-};
+ /**
+ * @defgroup axiom_soap11_builder_helper
+ * @ingroup axiom_soap
+ * @{
+ */
+
+ /**
+ * creates a soap11_builder_helper_create
+ * @param env Environment. MUST NOT be NULL
+ */
+ AXIS2_EXTERN axiom_soap11_builder_helper_t* AXIS2_CALL
+ axiom_soap11_builder_helper_create(const axis2_env_t *env,
+ axiom_soap_builder_t *soap_builder,
+ axiom_stax_builder_t *om_builder);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axiom_soap11_builder_helper_free(axiom_soap11_builder_helper_t *builder_helper,
+ const axis2_env_t *env);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axiom_soap11_builder_helper_handle_event(axiom_soap11_builder_helper_t *builder_helper,
+ const axis2_env_t *env,
+ axiom_node_t *om_element_node,
+ int element_level);
- /**
- * creates a soap11_builder_helper_create
- * @param env Environment. MUST NOT be NULL
- */
-AXIS2_EXTERN axiom_soap11_builder_helper_t* AXIS2_CALL
-axiom_soap11_builder_helper_create(const axis2_env_t *env,
- axiom_soap_builder_t *soap_builder,
- axiom_stax_builder_t *om_builder);
-
-/******************** Macros **************************************************/
-
-/** free soap_body */
#define AXIOM_SOAP11_BUILDER_HELPER_FREE(builder_helper, env) \
- ((builder_helper)->ops->free_fn(builder_helper, env))
-
+ axiom_soap11_builder_helper_free(builder_helper, env)
+
#define AXIOM_SOAP11_BUILDER_HELPER_HANDLE_EVENT(builder_helper, \
env, om_element_node, element_level) \
- ((builder_helper)->ops->handle_event(builder_helper, \
- env, om_element_node, element_level))
-
-/** @} */
+ axiom_soap11_builder_helper_handle_event(builder_helper, \
+ env, om_element_node, element_level)
+
+ /** @} */
#ifdef __cplusplus
}
#endif
Modified: webservices/axis2/trunk/c/axiom/src/soap/axiom_soap12_builder_helper.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/soap/axiom_soap12_builder_helper.h?view=diff&rev=496572&r1=496571&r2=496572
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/soap/axiom_soap12_builder_helper.h (original)
+++ webservices/axis2/trunk/c/axiom/src/soap/axiom_soap12_builder_helper.h Mon Jan 15 18:09:50 2007
@@ -14,11 +14,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
+
#ifndef AXIOM_SOAP12_BUILDER_HELPER_H
#define AXIOM_SOAP12_BUILDER_HELPER_H
- #include <axiom_soap_builder.h>
+#include <axiom_soap_builder.h>
/**
* @file axiom_soap_12_builder_helper.h
* @brief axiom_soap12_builder_helper
@@ -30,63 +30,44 @@
#endif
-typedef struct axiom_soap12_builder_helper axiom_soap12_builder_helper_t;
-typedef struct axiom_soap12_builder_helper_ops axiom_soap12_builder_helper_ops_t;
-
-/**
- * @defgroup axiom_soap12_builder_helper
- * @ingroup axiom_soap
- * @{
- */
+ typedef struct axiom_soap12_builder_helper axiom_soap12_builder_helper_t;
-/**
- * \brief axiom_soap12_builder_helper operations ops struct
- */
-
- struct axiom_soap12_builder_helper_ops
- {
- axis2_status_t (AXIS2_CALL *free_fn)
- (axiom_soap12_builder_helper_t *builder_helper,
- const axis2_env_t *env);
-
- axis2_status_t (AXIS2_CALL *handle_event)
- (axiom_soap12_builder_helper_t *builder_helper,
- const axis2_env_t *env,
- axiom_node_t *om_element_node,
- int element_level);
- };
-
- /**
- * \brief soap_12_builder_helper struct
- */
-struct axiom_soap12_builder_helper
-{
- axiom_soap12_builder_helper_ops_t *ops;
-};
-
- /**
- * creates a soap12_builder_helper_create
- * @param env Environment. MUST NOT be NULL
- */
-AXIS2_EXTERN axiom_soap12_builder_helper_t* AXIS2_CALL
-axiom_soap12_builder_helper_create(const axis2_env_t *env,
- axiom_soap_builder_t *soap_builder);
-
-/******************** Macros **************************************************/
+ /**
+ * @defgroup axiom_soap12_builder_helper
+ * @ingroup axiom_soap
+ * @{
+ */
+
+ /**
+ * creates a soap12_builder_helper_create
+ * @param env Environment. MUST NOT be NULL
+ */
+ AXIS2_EXTERN axiom_soap12_builder_helper_t* AXIS2_CALL
+ axiom_soap12_builder_helper_create(const axis2_env_t *env,
+ axiom_soap_builder_t *soap_builder);
-/** free soap_body */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axiom_soap12_builder_helper_free(axiom_soap12_builder_helper_t *builder_helper,
+ const axis2_env_t *env);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axiom_soap12_builder_helper_handle_event(axiom_soap12_builder_helper_t *builder_helper,
+ const axis2_env_t *env,
+ axiom_node_t *om_element_node,
+ int element_level);
+
#define AXIOM_SOAP12_BUILDER_HELPER_FREE(builder_helper, env) \
- ((builder_helper)->ops->free_fn(builder_helper, env))
-
+ axiom_soap12_builder_helper_free(builder_helper, env)
+
#define AXIOM_SOAP12_BUILDER_HELPER_HANDLE_EVENT(builder_helper, \
env, om_element_node, element_level) \
- ((builder_helper)->ops->handle_event(builder_helper, \
- env, om_element_node, element_level))
-
-/** @} */
+ axiom_soap12_builder_helper_handle_event(builder_helper, \
+ env, om_element_node, element_level)
+
+ /** @} */
#ifdef __cplusplus
}
#endif
-
+
#endif /*AXIOM_SOAP11_BUILDER_HELPER_H*/
Modified: webservices/axis2/trunk/c/axiom/src/soap/soap11_builder_helper.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/soap/soap11_builder_helper.c?view=diff&rev=496572&r1=496571&r2=496572
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/soap/soap11_builder_helper.c (original)
+++ webservices/axis2/trunk/c/axiom/src/soap/soap11_builder_helper.c Mon Jan 15 18:09:50 2007
@@ -30,10 +30,12 @@
#include <axiom_stax_builder_internal.h>
#include <axiom_node_internal.h>
-typedef struct axiom_soap11_builder_helper_impl_t
-{
- axiom_soap11_builder_helper_t builder_helper;
+static axis2_status_t
+axiom_soap11_builder_helper_process_text(axiom_soap11_builder_helper_t *builder_helper,
+ const axis2_env_t *env);
+struct axiom_soap11_builder_helper
+{
axiom_soap_builder_t *soap_builder;
axis2_bool_t fault_code_present;
@@ -44,104 +46,54 @@
axiom_node_t *last_processed_node;
-}
-axiom_soap11_builder_helper_impl_t;
-
-/********************** Macro *************************************************/
-
-#define AXIS2_INTF_TO_IMPL(builder_helper) \
- ((axiom_soap11_builder_helper_impl_t*)builder_helper)
-
-/********************* function implementations *******************************/
-
-axis2_status_t AXIS2_CALL
-axiom_soap11_builder_helper_free(axiom_soap11_builder_helper_t *builder_helper,
- const axis2_env_t *env);
-
-axis2_status_t AXIS2_CALL
-axiom_soap11_builder_helper_handle_event(axiom_soap11_builder_helper_t *builder_helper,
- const axis2_env_t *env,
- axiom_node_t *om_element_node,
- int element_level);
-
-static axis2_status_t
-axiom_soap11_builder_helper_process_text(axiom_soap11_builder_helper_t *builder_helper,
- const axis2_env_t *env);
-
-
+};
AXIS2_EXTERN axiom_soap11_builder_helper_t* AXIS2_CALL
axiom_soap11_builder_helper_create(const axis2_env_t *env,
axiom_soap_builder_t *soap_builder,
axiom_stax_builder_t *om_builder)
{
- axiom_soap11_builder_helper_impl_t *builder_helper_impl = NULL;
+ axiom_soap11_builder_helper_t *builder_helper = NULL;
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK(env->error, soap_builder, NULL);
AXIS2_PARAM_CHECK(env->error, om_builder, NULL);
- builder_helper_impl = (axiom_soap11_builder_helper_impl_t*)AXIS2_MALLOC(
- env->allocator, sizeof(axiom_soap11_builder_helper_impl_t));
- if (!builder_helper_impl)
+ builder_helper = (axiom_soap11_builder_helper_t*)AXIS2_MALLOC(
+ env->allocator, sizeof(axiom_soap11_builder_helper_t));
+ if (!builder_helper)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
- builder_helper_impl->fault_code_present = AXIS2_FALSE;
- builder_helper_impl->fault_string_present = AXIS2_FALSE;
- builder_helper_impl->last_processed_node = NULL;
- builder_helper_impl->om_builder = NULL;
- builder_helper_impl->builder_helper.ops = NULL;
+ builder_helper->fault_code_present = AXIS2_FALSE;
+ builder_helper->fault_string_present = AXIS2_FALSE;
+ builder_helper->last_processed_node = NULL;
+ builder_helper->om_builder = NULL;
- builder_helper_impl->builder_helper.ops = (axiom_soap11_builder_helper_ops_t*) AXIS2_MALLOC(
- env->allocator, sizeof(axiom_soap11_builder_helper_ops_t));
+ builder_helper->soap_builder = soap_builder;
+ builder_helper->om_builder = om_builder;
- if (!(builder_helper_impl->builder_helper.ops))
- {
- AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- AXIS2_FREE(env->allocator, builder_helper_impl->builder_helper.ops);
- return NULL;
- }
- builder_helper_impl->soap_builder = soap_builder;
- builder_helper_impl->om_builder = om_builder;
-
- builder_helper_impl->builder_helper.ops->free_fn =
- axiom_soap11_builder_helper_free;
-
- builder_helper_impl->builder_helper.ops->handle_event =
- axiom_soap11_builder_helper_handle_event;
-
- return &(builder_helper_impl->builder_helper);
+ return builder_helper;
}
-axis2_status_t AXIS2_CALL
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_soap11_builder_helper_free(axiom_soap11_builder_helper_t *builder_helper,
const axis2_env_t *env)
{
- axiom_soap11_builder_helper_impl_t *builder_helper_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- builder_helper_impl = AXIS2_INTF_TO_IMPL(builder_helper);
-
- if (builder_helper_impl->builder_helper.ops)
- {
- AXIS2_FREE(env->allocator, builder_helper_impl->builder_helper.ops);
- builder_helper_impl->builder_helper.ops = NULL;
- }
-
- AXIS2_FREE(env->allocator, builder_helper_impl);
- builder_helper_impl = NULL;
+ AXIS2_FREE(env->allocator, builder_helper);
+ builder_helper = NULL;
return AXIS2_SUCCESS;
}
-axis2_status_t AXIS2_CALL
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_soap11_builder_helper_handle_event(axiom_soap11_builder_helper_t *builder_helper,
const axis2_env_t *env,
axiom_node_t *om_element_node,
int element_level)
{
- axiom_soap11_builder_helper_impl_t *builder_helper_impl = NULL;
axiom_element_t *om_ele = NULL;
axis2_char_t *ele_localname = NULL;
axiom_soap_envelope_t *soap_envelope = NULL;
@@ -150,7 +102,6 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, om_element_node, AXIS2_FAILURE);
- builder_helper_impl = AXIS2_INTF_TO_IMPL(builder_helper);
om_ele = (axiom_element_t *)AXIOM_NODE_GET_DATA_ELEMENT(om_element_node, env);
@@ -160,7 +111,7 @@
return AXIS2_FAILURE;
}
- soap_envelope = AXIOM_SOAP_BUILDER_GET_SOAP_ENVELOPE(builder_helper_impl->soap_builder, env);
+ soap_envelope = AXIOM_SOAP_BUILDER_GET_SOAP_ENVELOPE(builder_helper->soap_builder, env);
if (!soap_envelope)
{
@@ -191,10 +142,10 @@
{
axis2_status_t status = AXIS2_SUCCESS;
- if (builder_helper_impl->fault_string_present)
+ if (builder_helper->fault_string_present)
{
AXIOM_SOAP_BUILDER_SET_BOOL_PROCESSING_MANDATORY_FAULT_ELEMENTS(
- builder_helper_impl->soap_builder, env, AXIS2_FALSE);
+ builder_helper->soap_builder, env, AXIS2_FALSE);
}
fault_code = axiom_soap_fault_code_create(env);
@@ -205,7 +156,7 @@
axiom_soap_fault_set_code(soap_fault, env, fault_code);
- axiom_soap_fault_code_set_builder(fault_code, env, builder_helper_impl->soap_builder);
+ axiom_soap_fault_code_set_builder(fault_code, env, builder_helper->soap_builder);
AXIOM_ELEMENT_SET_LOCALNAME(om_ele, env, AXIOM_SOAP12_SOAP_FAULT_CODE_LOCAL_NAME);
@@ -220,7 +171,7 @@
fault_value_ele = (axiom_element_t *)AXIOM_NODE_GET_DATA_ELEMENT(
fault_value_node, env);
- axiom_stax_builder_set_lastnode(builder_helper_impl->om_builder,
+ axiom_stax_builder_set_lastnode(builder_helper->om_builder,
env, fault_value_node);
status = axiom_soap11_builder_helper_process_text(builder_helper, env);
@@ -228,13 +179,13 @@
{
return AXIS2_FAILURE;
}
- axiom_stax_builder_set_lastnode(builder_helper_impl->om_builder,
+ axiom_stax_builder_set_lastnode(builder_helper->om_builder,
env, om_element_node);
axiom_node_set_complete(om_element_node, env, AXIS2_TRUE);
- axiom_stax_builder_set_element_level(builder_helper_impl->om_builder,
+ axiom_stax_builder_set_element_level(builder_helper->om_builder,
env, (element_level - 1));
- builder_helper_impl->fault_code_present = AXIS2_TRUE;
+ builder_helper->fault_code_present = AXIS2_TRUE;
}
else if (AXIS2_STRCMP(AXIOM_SOAP11_SOAP_FAULT_STRING_LOCAL_NAME, ele_localname) == 0)
{
@@ -243,10 +194,10 @@
axiom_soap_fault_text_t *fault_text = NULL;
axiom_node_t *fault_text_node = NULL;
int status = AXIS2_SUCCESS;
- if (builder_helper_impl->fault_code_present)
+ if (builder_helper->fault_code_present)
{
AXIOM_SOAP_BUILDER_SET_BOOL_PROCESSING_MANDATORY_FAULT_ELEMENTS(
- builder_helper_impl->soap_builder, env, AXIS2_FALSE);
+ builder_helper->soap_builder, env, AXIS2_FALSE);
}
AXIOM_ELEMENT_SET_LOCALNAME(om_ele, env, AXIOM_SOAP12_SOAP_FAULT_REASON_LOCAL_NAME);
@@ -268,20 +219,20 @@
return AXIS2_FAILURE;
/* TODO process namespace data */
- axiom_stax_builder_set_lastnode(builder_helper_impl->om_builder, env, fault_text_node);
+ axiom_stax_builder_set_lastnode(builder_helper->om_builder, env, fault_text_node);
status = axiom_soap11_builder_helper_process_text(builder_helper, env);
if (status == AXIS2_FAILURE)
return AXIS2_FAILURE;
- axiom_stax_builder_set_lastnode(builder_helper_impl->om_builder, env, om_element_node);
+ axiom_stax_builder_set_lastnode(builder_helper->om_builder, env, om_element_node);
axiom_node_set_complete(om_element_node, env, AXIS2_TRUE);
- axiom_stax_builder_set_element_level(builder_helper_impl->om_builder,
+ axiom_stax_builder_set_element_level(builder_helper->om_builder,
env , (element_level - 1));
- builder_helper_impl->fault_string_present = AXIS2_TRUE;
+ builder_helper->fault_string_present = AXIS2_TRUE;
}
else if (AXIS2_STRCMP(AXIOM_SOAP11_SOAP_FAULT_ACTOR_LOCAL_NAME, ele_localname) == 0)
@@ -299,7 +250,7 @@
/*
Role element may not have a namespace associated, hence commented, else it segfaults here - Samisa
status = AXIOM_SOAP_BUILDER_PROCESS_NAMESPACE_DATA(
- builder_helper_impl->soap_builder, env, om_element_node, AXIS2_TRUE);
+ builder_helper->soap_builder, env, om_element_node, AXIS2_TRUE);
if(status == AXIS2_FAILURE)
return AXIS2_FAILURE;*/
}
@@ -350,12 +301,9 @@
axiom_soap11_builder_helper_process_text(axiom_soap11_builder_helper_t *builder_helper,
const axis2_env_t *env)
{
- axiom_soap11_builder_helper_impl_t *builder_helper_impl = NULL;
int token = 0;
- builder_helper_impl = AXIS2_INTF_TO_IMPL(builder_helper);
-
- token = AXIOM_STAX_BUILDER_NEXT_WITH_TOKEN(builder_helper_impl->om_builder, env);
+ token = AXIOM_STAX_BUILDER_NEXT_WITH_TOKEN(builder_helper->om_builder, env);
if (token == -1)
return AXIS2_FAILURE;
@@ -369,7 +317,7 @@
return AXIS2_FAILURE;
}
- token = AXIOM_STAX_BUILDER_NEXT_WITH_TOKEN(builder_helper_impl->om_builder, env);
+ token = AXIOM_STAX_BUILDER_NEXT_WITH_TOKEN(builder_helper->om_builder, env);
if (token == -1)
return AXIS2_FAILURE;
}
Modified: webservices/axis2/trunk/c/axiom/src/soap/soap12_builder_helper.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/soap/soap12_builder_helper.c?view=diff&rev=496572&r1=496571&r2=496572
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/soap/soap12_builder_helper.c (original)
+++ webservices/axis2/trunk/c/axiom/src/soap/soap12_builder_helper.c Mon Jan 15 18:09:50 2007
@@ -30,12 +30,8 @@
#include "_axiom_soap_fault_value.h"
#include "_axiom_soap_fault_text.h"
-/********************* impl struct ********************************************/
-
-typedef struct axiom_soap12_builder_helper_impl_t
+struct axiom_soap12_builder_helper
{
- axiom_soap12_builder_helper_t builder_helper;
-
axiom_soap_builder_t *soap_builder;
axis2_bool_t code_present;
@@ -63,113 +59,65 @@
axis2_bool_t reason_processing;
axis2_array_list_t *detail_element_names;
-
-
-}
-axiom_soap12_builder_helper_impl_t;
-
-/******************** Macro ***************************************************/
-
-#define AXIS2_INTF_TO_IMPL(builder_helper) ((axiom_soap12_builder_helper_impl_t*)builder_helper)
-
-/******************** function prototypes *************************************/
-
-axis2_status_t AXIS2_CALL
-axiom_soap12_builder_helper_free(axiom_soap12_builder_helper_t *builder_helper,
- const axis2_env_t *env);
-
-axis2_status_t AXIS2_CALL
-axiom_soap12_builder_helper_handle_event
-(axiom_soap12_builder_helper_t *builder_helper,
- const axis2_env_t *env,
- axiom_node_t *om_element_node,
- int element_level);
-
-/******************** function implementations ********************************/
+};
AXIS2_EXTERN axiom_soap12_builder_helper_t* AXIS2_CALL
axiom_soap12_builder_helper_create(const axis2_env_t *env,
axiom_soap_builder_t *soap_builder)
{
- axiom_soap12_builder_helper_impl_t *builder_helper_impl = NULL;
+ axiom_soap12_builder_helper_t *builder_helper = NULL;
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK(env->error, soap_builder, NULL);
- builder_helper_impl = (axiom_soap12_builder_helper_impl_t*)AXIS2_MALLOC(
- env->allocator, sizeof(axiom_soap12_builder_helper_impl_t));
- if (!builder_helper_impl)
- {
- AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- return NULL;
- }
-
- builder_helper_impl->code_present = AXIS2_FALSE;
- builder_helper_impl->detail_present = AXIS2_FALSE;
- builder_helper_impl->reason_present = AXIS2_FALSE;
- builder_helper_impl->role_present = AXIS2_FALSE;
- builder_helper_impl->sub_code_present = AXIS2_FALSE;
- builder_helper_impl->reason_processing = AXIS2_FALSE;
- builder_helper_impl->code_processing = AXIS2_FALSE;
- builder_helper_impl->sub_code_processing = AXIS2_FALSE;
- builder_helper_impl->detail_element_names = NULL;
- builder_helper_impl->node_present = AXIS2_FALSE;
- builder_helper_impl->soap_builder = soap_builder;
- builder_helper_impl->sub_sub_code_present = AXIS2_FALSE;
- builder_helper_impl->value_present = AXIS2_FALSE;
- builder_helper_impl->subcode_value_present = AXIS2_FALSE;
- builder_helper_impl->builder_helper.ops = NULL;
-
- builder_helper_impl->builder_helper.ops = (axiom_soap12_builder_helper_ops_t*) AXIS2_MALLOC(
- env->allocator, sizeof(axiom_soap12_builder_helper_ops_t));
-
- if (!(builder_helper_impl->builder_helper.ops))
+ builder_helper = (axiom_soap12_builder_helper_t*)AXIS2_MALLOC(
+ env->allocator, sizeof(axiom_soap12_builder_helper_t));
+ if (!builder_helper)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- AXIS2_FREE(env->allocator, builder_helper_impl);
return NULL;
}
- builder_helper_impl->builder_helper.ops->free_fn =
- axiom_soap12_builder_helper_free;
-
- builder_helper_impl->builder_helper.ops->handle_event =
- axiom_soap12_builder_helper_handle_event;
+ builder_helper->code_present = AXIS2_FALSE;
+ builder_helper->detail_present = AXIS2_FALSE;
+ builder_helper->reason_present = AXIS2_FALSE;
+ builder_helper->role_present = AXIS2_FALSE;
+ builder_helper->sub_code_present = AXIS2_FALSE;
+ builder_helper->reason_processing = AXIS2_FALSE;
+ builder_helper->code_processing = AXIS2_FALSE;
+ builder_helper->sub_code_processing = AXIS2_FALSE;
+ builder_helper->detail_element_names = NULL;
+ builder_helper->node_present = AXIS2_FALSE;
+ builder_helper->soap_builder = soap_builder;
+ builder_helper->sub_sub_code_present = AXIS2_FALSE;
+ builder_helper->value_present = AXIS2_FALSE;
+ builder_helper->subcode_value_present = AXIS2_FALSE;
- return &(builder_helper_impl->builder_helper);
+ return builder_helper;
}
-axis2_status_t AXIS2_CALL
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_soap12_builder_helper_free(axiom_soap12_builder_helper_t *builder_helper,
const axis2_env_t *env)
{
- axiom_soap12_builder_helper_impl_t *builder_helper_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- builder_helper_impl = AXIS2_INTF_TO_IMPL(builder_helper);
- if (builder_helper_impl->detail_element_names)
+ if (builder_helper->detail_element_names)
{
- AXIS2_ARRAY_LIST_FREE(builder_helper_impl->detail_element_names, env);
- builder_helper_impl->detail_element_names = NULL;
- }
- if (builder_helper_impl->builder_helper.ops)
- {
- AXIS2_FREE(env->allocator, builder_helper_impl->builder_helper.ops);
- builder_helper_impl->builder_helper.ops = NULL;
+ AXIS2_ARRAY_LIST_FREE(builder_helper->detail_element_names, env);
+ builder_helper->detail_element_names = NULL;
}
- AXIS2_FREE(env->allocator, builder_helper_impl);
- builder_helper_impl = NULL;
+ AXIS2_FREE(env->allocator, builder_helper);
+ builder_helper = NULL;
return AXIS2_SUCCESS;
}
-axis2_status_t AXIS2_CALL
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_soap12_builder_helper_handle_event(axiom_soap12_builder_helper_t *builder_helper,
const axis2_env_t *env,
axiom_node_t *om_ele_node,
int element_level)
{
- axiom_soap12_builder_helper_impl_t *builder_helper_impl = NULL;
-
axis2_char_t* ele_localname = NULL;
axiom_element_t *om_ele = NULL;
@@ -179,7 +127,6 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, om_ele_node, AXIS2_FAILURE);
- builder_helper_impl = AXIS2_INTF_TO_IMPL(builder_helper);
om_ele = (axiom_element_t *)AXIOM_NODE_GET_DATA_ELEMENT(om_ele_node, env);
if (!om_ele)
@@ -189,7 +136,7 @@
if (!ele_localname)
return AXIS2_FAILURE;
- soap_envelope = AXIOM_SOAP_BUILDER_GET_SOAP_ENVELOPE(builder_helper_impl->soap_builder, env);
+ soap_envelope = AXIOM_SOAP_BUILDER_GET_SOAP_ENVELOPE(builder_helper->soap_builder, env);
if (!soap_envelope)
return AXIS2_FAILURE;
@@ -205,7 +152,7 @@
{
if (AXIS2_STRCMP(AXIOM_SOAP12_SOAP_FAULT_CODE_LOCAL_NAME, ele_localname) == 0)
{
- if (builder_helper_impl->code_present)
+ if (builder_helper->code_present)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MULTIPLE_CODE_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE);
@@ -222,21 +169,21 @@
axiom_soap_fault_code_set_builder(soap_fault_code, env,
- builder_helper_impl->soap_builder);
+ builder_helper->soap_builder);
axiom_soap_fault_set_code(soap_fault, env, soap_fault_code);
- builder_helper_impl->code_present = AXIS2_TRUE;
- builder_helper_impl->code_processing = AXIS2_TRUE;
+ builder_helper->code_present = AXIS2_TRUE;
+ builder_helper->code_processing = AXIS2_TRUE;
}
}
else if (AXIS2_STRCMP(AXIOM_SOAP12_SOAP_FAULT_REASON_LOCAL_NAME, ele_localname) == 0)
{
- if (!(builder_helper_impl->code_processing) && !(builder_helper_impl->sub_code_processing))
+ if (!(builder_helper->code_processing) && !(builder_helper->sub_code_processing))
{
- if (builder_helper_impl->code_present)
+ if (builder_helper->code_present)
{
- if (builder_helper_impl->reason_present)
+ if (builder_helper->reason_present)
{
AXIS2_ERROR_SET(env->error,
AXIS2_ERROR_MULTIPLE_REASON_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE);
@@ -255,10 +202,10 @@
axiom_soap_fault_set_reason(soap_fault, env, fault_reason);
axiom_soap_fault_reason_set_builder(fault_reason , env,
- builder_helper_impl->soap_builder);
+ builder_helper->soap_builder);
- builder_helper_impl->reason_present = AXIS2_TRUE;
- builder_helper_impl->reason_processing = AXIS2_TRUE;
+ builder_helper->reason_present = AXIS2_TRUE;
+ builder_helper->reason_processing = AXIS2_TRUE;
}
}
else
@@ -270,7 +217,7 @@
}
else
{
- if (builder_helper_impl->code_processing)
+ if (builder_helper->code_processing)
{
AXIS2_ERROR_SET(env->error,
AXIS2_ERROR_SOAP_FAULT_CODE_DOES_NOT_HAVE_A_VALUE, AXIS2_FAILURE);
@@ -286,13 +233,13 @@
}
else if (AXIS2_STRCMP(ele_localname, AXIOM_SOAP12_SOAP_FAULT_NODE_LOCAL_NAME) == 0)
{
- if (!(builder_helper_impl->reason_processing))
+ if (!(builder_helper->reason_processing))
{
- if (builder_helper_impl->reason_present &&
- !(builder_helper_impl->role_present) &&
- !(builder_helper_impl->detail_present))
+ if (builder_helper->reason_present &&
+ !(builder_helper->role_present) &&
+ !(builder_helper->detail_present))
{
- if (builder_helper_impl->node_present)
+ if (builder_helper->node_present)
{
AXIS2_ERROR_SET(env->error,
AXIS2_ERROR_MULTIPLE_NODE_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE);
@@ -309,7 +256,7 @@
axiom_soap_fault_set_node(soap_fault, env, soap_fault_node);
- builder_helper_impl->node_present = AXIS2_TRUE;
+ builder_helper->node_present = AXIS2_TRUE;
}
}
else
@@ -331,11 +278,11 @@
}
else if (AXIS2_STRCMP(ele_localname, AXIOM_SOAP12_SOAP_FAULT_ROLE_LOCAL_NAME) == 0)
{
- if (!(builder_helper_impl->reason_processing))
+ if (!(builder_helper->reason_processing))
{
- if (builder_helper_impl->reason_present && !(builder_helper_impl->detail_present))
+ if (builder_helper->reason_present && !(builder_helper->detail_present))
{
- if (builder_helper_impl->role_present)
+ if (builder_helper->role_present)
{
AXIS2_ERROR_SET(env->error,
AXIS2_ERROR_MULTIPLE_ROLE_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE);
@@ -352,7 +299,7 @@
axiom_soap_fault_role_set_base_node(soap_fault_role, env, om_ele_node);
axiom_soap_fault_set_role(soap_fault, env, soap_fault_role);
- builder_helper_impl->role_present = AXIS2_TRUE;
+ builder_helper->role_present = AXIS2_TRUE;
}
}
else
@@ -371,11 +318,11 @@
}
else if (AXIS2_STRCMP(ele_localname, AXIOM_SOAP12_SOAP_FAULT_DETAIL_LOCAL_NAME) == 0)
{
- if (!(builder_helper_impl->reason_processing))
+ if (!(builder_helper->reason_processing))
{
- if (builder_helper_impl->reason_present)
+ if (builder_helper->reason_present)
{
- if (builder_helper_impl->detail_present)
+ if (builder_helper->detail_present)
{
AXIS2_ERROR_SET(env->error,
AXIS2_ERROR_MULTIPLE_DETAIL_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE);
@@ -392,7 +339,7 @@
axiom_soap_fault_detail_set_base_node(soap_fault_detail, env, om_ele_node);
axiom_soap_fault_set_detail(soap_fault, env, soap_fault_detail);
- builder_helper_impl->detail_present = AXIS2_TRUE;
+ builder_helper->detail_present = AXIS2_TRUE;
}
}
else
@@ -440,7 +387,7 @@
{
if (AXIS2_STRCMP(ele_localname, AXIOM_SOAP12_SOAP_FAULT_VALUE_LOCAL_NAME) == 0)
{
- if (!(builder_helper_impl->value_present))
+ if (!(builder_helper->value_present))
{
axiom_soap_fault_value_t *soap_fault_value = NULL;
axiom_soap_fault_code_t *parent_fcode = NULL;
@@ -457,8 +404,8 @@
axiom_soap_fault_code_set_value(parent_fcode, env, soap_fault_value);
- builder_helper_impl->value_present = AXIS2_TRUE;
- builder_helper_impl->code_processing = AXIS2_FALSE;
+ builder_helper->value_present = AXIS2_TRUE;
+ builder_helper->code_processing = AXIS2_FALSE;
}
else
@@ -471,9 +418,9 @@
else if (AXIS2_STRCMP(ele_localname,
AXIOM_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME) == 0)
{
- if (!(builder_helper_impl->sub_code_present))
+ if (!(builder_helper->sub_code_present))
{
- if (builder_helper_impl->value_present)
+ if (builder_helper->value_present)
{
axiom_soap_fault_sub_code_t *fault_subcode = NULL;
@@ -493,10 +440,10 @@
axiom_soap_fault_code_set_sub_code(fault_code, env, fault_subcode);
axiom_soap_fault_sub_code_set_builder(fault_subcode, env,
- builder_helper_impl->soap_builder);
+ builder_helper->soap_builder);
- builder_helper_impl->sub_code_present = AXIS2_TRUE;
- builder_helper_impl->sub_code_processing = AXIS2_TRUE;
+ builder_helper->sub_code_present = AXIS2_TRUE;
+ builder_helper->sub_code_processing = AXIS2_TRUE;
}
else
{
@@ -539,9 +486,9 @@
/*****************
AXIOM_NODE_SET_BUILD_STATUS(om_ele_node, env, AXIS2_FALSE);
******************/
- builder_helper_impl->reason_processing = AXIS2_FALSE;
+ builder_helper->reason_processing = AXIS2_FALSE;
- AXIOM_SOAP_BUILDER_SET_BOOL_PROCESSING_MANDATORY_FAULT_ELEMENTS(builder_helper_impl->soap_builder, env, AXIS2_FALSE);
+ AXIOM_SOAP_BUILDER_SET_BOOL_PROCESSING_MANDATORY_FAULT_ELEMENTS(builder_helper->soap_builder, env, AXIS2_FALSE);
}
else
@@ -553,14 +500,14 @@
}
else if (AXIS2_STRCMP(parent_localname, AXIOM_SOAP12_SOAP_FAULT_DETAIL_LOCAL_NAME) == 0)
{
- AXIOM_SOAP_BUILDER_SET_PROCESSING_DETAIL_ELEMENTS(builder_helper_impl->soap_builder, env, AXIS2_TRUE);
+ AXIOM_SOAP_BUILDER_SET_PROCESSING_DETAIL_ELEMENTS(builder_helper->soap_builder, env, AXIS2_TRUE);
- if (!(builder_helper_impl->detail_element_names))
+ if (!(builder_helper->detail_element_names))
{
- builder_helper_impl->detail_element_names = axis2_array_list_create(env, 20);
+ builder_helper->detail_element_names = axis2_array_list_create(env, 20);
}
- AXIS2_ARRAY_LIST_ADD(builder_helper_impl->detail_element_names, env, ele_localname);
+ AXIS2_ARRAY_LIST_ADD(builder_helper->detail_element_names, env, ele_localname);
}
else
@@ -594,7 +541,7 @@
{
if (AXIS2_STRCMP(ele_localname, AXIOM_SOAP12_SOAP_FAULT_VALUE_LOCAL_NAME) == 0)
{
- if (builder_helper_impl->subcode_value_present)
+ if (builder_helper->subcode_value_present)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MULTIPLE_SUB_CODE_VALUES_ENCOUNTERED, AXIS2_FAILURE);
return AXIS2_FAILURE;
@@ -627,16 +574,16 @@
axiom_soap_fault_sub_code_set_value(sub_code, env, value);
- builder_helper_impl->subcode_value_present = AXIS2_TRUE;
- builder_helper_impl->sub_sub_code_present = AXIS2_FALSE;
- builder_helper_impl->sub_code_processing = AXIS2_FALSE;
+ builder_helper->subcode_value_present = AXIS2_TRUE;
+ builder_helper->sub_sub_code_present = AXIS2_FALSE;
+ builder_helper->sub_code_processing = AXIS2_FALSE;
}
}
else if (AXIS2_STRCMP(ele_localname, AXIOM_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME) == 0)
{
- if (builder_helper_impl->subcode_value_present)
+ if (builder_helper->subcode_value_present)
{
- if (!(builder_helper_impl->sub_sub_code_present))
+ if (!(builder_helper->sub_sub_code_present))
{
axiom_soap_fault_code_t *fault_code = NULL;
axiom_soap_fault_sub_code_t *parent_subcode = NULL;
@@ -663,9 +610,9 @@
axiom_soap_fault_sub_code_set_sub_code(parent_subcode, env, subcode);
- builder_helper_impl->subcode_value_present = AXIS2_FALSE;
- builder_helper_impl->sub_sub_code_present = AXIS2_TRUE;
- builder_helper_impl->sub_code_processing = AXIS2_TRUE;
+ builder_helper->subcode_value_present = AXIS2_FALSE;
+ builder_helper->sub_sub_code_present = AXIS2_TRUE;
+ builder_helper->sub_code_processing = AXIS2_TRUE;
}
else
{
@@ -689,18 +636,18 @@
return AXIS2_FAILURE;
}
}
- else if (AXIOM_SOAP_BUILDER_IS_PROCESSING_DETAIL_ELEMENTS(builder_helper_impl->soap_builder, env))
+ else if (AXIOM_SOAP_BUILDER_IS_PROCESSING_DETAIL_ELEMENTS(builder_helper->soap_builder, env))
{
int detail_element_level = 0;
axis2_bool_t local_name_exists = AXIS2_FALSE;
int i = 0;
- if (!(builder_helper_impl->detail_element_names))
+ if (!(builder_helper->detail_element_names))
return AXIS2_FAILURE;
- for (i = 0; i < AXIS2_ARRAY_LIST_SIZE(builder_helper_impl->detail_element_names, env) ; i++)
+ for (i = 0; i < AXIS2_ARRAY_LIST_SIZE(builder_helper->detail_element_names, env) ; i++)
{
- if (AXIS2_STRCMP(parent_localname, AXIS2_ARRAY_LIST_GET(builder_helper_impl->detail_element_names, env, i)) == 0)
+ if (AXIS2_STRCMP(parent_localname, AXIS2_ARRAY_LIST_GET(builder_helper->detail_element_names, env, i)) == 0)
{
local_name_exists = AXIS2_TRUE;
detail_element_level = i + 1;
@@ -708,7 +655,7 @@
}
if (local_name_exists)
{
- AXIS2_ARRAY_LIST_ADD(builder_helper_impl->detail_element_names, env, ele_localname);
+ AXIS2_ARRAY_LIST_ADD(builder_helper->detail_element_names, env, ele_localname);
}
else
{
Modified: webservices/axis2/trunk/c/axiom/src/soap/soap_body.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/soap/soap_body.c?view=diff&rev=496572&r1=496571&r2=496572
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/soap/soap_body.c (original)
+++ webservices/axis2/trunk/c/axiom/src/soap/soap_body.c Mon Jan 15 18:09:50 2007
@@ -21,11 +21,8 @@
#include <axiom_soap_const.h>
#include <axiom_soap_builder.h>
-/******************* impl struct ****************************************/
-typedef struct axiom_soap_body_impl_t
+struct axiom_soap_body
{
- axiom_soap_body_t soap_body;
-
axiom_node_t *om_ele_node;
axis2_bool_t has_fault;
@@ -35,122 +32,38 @@
axiom_soap_builder_t *soap_builder;
int soap_version;
+};
-}
-axiom_soap_body_impl_t;
-
-/****************** Macro ****************************************************/
-
-#define AXIS2_INTF_TO_IMPL(body) ((axiom_soap_body_impl_t*)body)
-
-/****************** Function prototypes **************************************/
-
-axis2_status_t AXIS2_CALL
-axiom_soap_body_free(axiom_soap_body_t *body,
- const axis2_env_t *env);
-
-axis2_bool_t AXIS2_CALL
-axiom_soap_body_has_fault(axiom_soap_body_t *body,
- const axis2_env_t *env);
-
-axiom_soap_fault_t* AXIS2_CALL
-axiom_soap_body_get_fault(axiom_soap_body_t *body,
- const axis2_env_t *env);
-
-axis2_status_t AXIS2_CALL
-axiom_soap_body_add_fault(axiom_soap_body_t *body,
- const axis2_env_t *env,
- axiom_soap_fault_t *soap_fault);
-
-axiom_node_t* AXIS2_CALL
-axiom_soap_body_get_base_node(axiom_soap_body_t *body,
- const axis2_env_t *env);
-
-
-axis2_status_t AXIS2_CALL
-axiom_soap_body_build(axiom_soap_body_t *body,
- const axis2_env_t *env);
-
-
-
-axis2_status_t AXIS2_CALL
-axiom_soap_body_add_child(axiom_soap_body_t *body,
- const axis2_env_t *env,
- axiom_node_t *child);
-
-int AXIS2_CALL
-axiom_soap_body_get_soap_version(axiom_soap_body_t *body,
- const axis2_env_t *env);
-
-
-
-/*************** function implementations *************************************/
-axiom_soap_body_t* AXIS2_CALL
+AXIS2_EXTERN axiom_soap_body_t* AXIS2_CALL
axiom_soap_body_create(const axis2_env_t *env)
{
- axiom_soap_body_impl_t *body_impl = NULL;
+ axiom_soap_body_t *soap_body = NULL;
AXIS2_ENV_CHECK(env, NULL);
- body_impl = (axiom_soap_body_impl_t*)AXIS2_MALLOC(
+ soap_body = (axiom_soap_body_t*)AXIS2_MALLOC(
env->allocator,
- sizeof(axiom_soap_body_impl_t));
+ sizeof(axiom_soap_body_t));
- if (!body_impl)
+ if (!soap_body)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
- body_impl->soap_body.ops = NULL;
- body_impl->om_ele_node = NULL;
- body_impl->soap_builder = NULL;
- body_impl->has_fault = AXIS2_FALSE;
- body_impl->soap_fault = NULL;
-
- body_impl->soap_body.ops = (axiom_soap_body_ops_t*) AXIS2_MALLOC(
- env->allocator, sizeof(axiom_soap_body_ops_t));
-
- if (!(body_impl->soap_body.ops))
- {
- AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- AXIS2_FREE(env->allocator, body_impl);
- body_impl = NULL;
- return NULL;
- }
-
- body_impl->soap_body.ops->free =
- axiom_soap_body_free;
-
- body_impl->soap_body.ops->has_fault =
- axiom_soap_body_has_fault;
-
- body_impl->soap_body.ops->get_fault =
- axiom_soap_body_get_fault;
-
- body_impl->soap_body.ops->get_base_node =
- axiom_soap_body_get_base_node;
+ soap_body->om_ele_node = NULL;
+ soap_body->soap_builder = NULL;
+ soap_body->has_fault = AXIS2_FALSE;
+ soap_body->soap_fault = NULL;
- body_impl->soap_body.ops->build =
- axiom_soap_body_build;
-
- body_impl->soap_body.ops->add_child =
- axiom_soap_body_add_child;
-
- body_impl->soap_body.ops->get_soap_version =
- axiom_soap_body_get_soap_version;
-
- return &(body_impl->soap_body);
-
- return NULL;
+ return soap_body;
}
-axiom_soap_body_t* AXIS2_CALL
+AXIS2_EXTERN axiom_soap_body_t* AXIS2_CALL
axiom_soap_body_create_with_parent(const axis2_env_t *env,
axiom_soap_envelope_t *envelope)
{
- axiom_soap_body_impl_t *body_impl = NULL;
- axiom_soap_body_t *body = NULL;
+ axiom_soap_body_t *soap_body = NULL;
axiom_element_t *ele = NULL;
axiom_node_t *parent_node = NULL;
axiom_element_t *parent_ele = NULL;
@@ -159,19 +72,17 @@
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK(env->error, envelope, NULL);
- body = axiom_soap_body_create(env);
- if (!body)
+ soap_body = axiom_soap_body_create(env);
+ if (!soap_body)
{
return NULL;
}
- body_impl = AXIS2_INTF_TO_IMPL(body);
-
/*get parent node from SOAP envelope */
parent_node = AXIOM_SOAP_ENVELOPE_GET_BASE_NODE(envelope, env);
if (!parent_node)
{
- AXIOM_SOAP_BODY_FREE(body, env);
+ AXIOM_SOAP_BODY_FREE(soap_body, env);
return NULL;
}
parent_ele = (axiom_element_t *)AXIOM_NODE_GET_DATA_ELEMENT(
@@ -179,7 +90,7 @@
if (!parent_ele)
{
- AXIOM_SOAP_BODY_FREE(body, env);
+ AXIOM_SOAP_BODY_FREE(soap_body, env);
return NULL;
}
@@ -187,76 +98,59 @@
ele = axiom_element_create(env, parent_node,
AXIOM_SOAP_BODY_LOCAL_NAME, om_ns,
- &(body_impl->om_ele_node));
+ &(soap_body->om_ele_node));
if (!ele)
{
- axiom_soap_body_free(body, env);
+ axiom_soap_body_free(soap_body, env);
return NULL;
}
- axiom_soap_envelope_set_body(envelope, env, &(body_impl->soap_body));
+ axiom_soap_envelope_set_body(envelope, env, soap_body);
- return &(body_impl->soap_body);
+ return soap_body;
}
-axis2_status_t AXIS2_CALL
-axiom_soap_body_free(axiom_soap_body_t *body,
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+axiom_soap_body_free(axiom_soap_body_t *soap_body,
const axis2_env_t *env)
{
- axiom_soap_body_impl_t *body_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- AXIS2_PARAM_CHECK(env->error, body, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, soap_body, AXIS2_FAILURE);
- body_impl = AXIS2_INTF_TO_IMPL(body);
-
- if (body_impl->soap_fault)
+ if (soap_body->soap_fault)
{
- AXIOM_SOAP_FAULT_FREE(body_impl->soap_fault, env);
- body_impl->soap_fault = NULL;
+ AXIOM_SOAP_FAULT_FREE(soap_body->soap_fault, env);
+ soap_body->soap_fault = NULL;
}
- if (body->ops)
- {
- AXIS2_FREE(env->allocator, body->ops);
- body->ops = NULL;
- }
- AXIS2_FREE(env->allocator, body_impl);
- body_impl = NULL;
+ AXIS2_FREE(env->allocator, soap_body);
+ soap_body = NULL;
return AXIS2_SUCCESS;
}
-/**
- * Indicates whether a object exists in
- * this SOAPBody object.
- *
- * @return true</code> if a <code>SOAPFault</code> object exists in
- * this <code>SOAPBody</code> object; <code>false</code>
- * otherwise
- */
-axis2_bool_t AXIS2_CALL axiom_soap_body_has_fault(axiom_soap_body_t *body,
+AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_soap_body_has_fault(axiom_soap_body_t *soap_body,
const axis2_env_t *env)
{
- axiom_soap_body_impl_t *body_impl = NULL;
int status = AXIS2_SUCCESS;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- body_impl = AXIS2_INTF_TO_IMPL(body);
- if (body_impl->soap_fault)
+
+ if (soap_body->soap_fault)
{
- body_impl->has_fault = AXIS2_TRUE;
+ soap_body->has_fault = AXIS2_TRUE;
return AXIS2_TRUE;
}
else
{
- if (body_impl->soap_builder)
+ if (soap_body->soap_builder)
{
- while (!(body_impl->soap_fault) && !(AXIOM_NODE_IS_COMPLETE(body_impl->om_ele_node, env)))
+ while (!(soap_body->soap_fault) && !(AXIOM_NODE_IS_COMPLETE(soap_body->om_ele_node, env)))
{
- status = AXIOM_SOAP_BUILDER_NEXT(body_impl->soap_builder, env);
+ status = AXIOM_SOAP_BUILDER_NEXT(soap_body->soap_builder, env);
if (status == AXIS2_FAILURE)
return AXIS2_FALSE;
}
- if (body_impl->soap_fault)
+ if (soap_body->soap_fault)
{
- body_impl->has_fault = AXIS2_TRUE;
+ soap_body->has_fault = AXIS2_TRUE;
return AXIS2_TRUE;
}
}
@@ -272,120 +166,80 @@
* @return the <code>SOAPFault</code> object in this <code>SOAPBody</code>
* object
*/
-axiom_soap_fault_t* AXIS2_CALL
-axiom_soap_body_get_fault(axiom_soap_body_t *body,
+AXIS2_EXTERN axiom_soap_fault_t* AXIS2_CALL
+axiom_soap_body_get_fault(axiom_soap_body_t *soap_body,
const axis2_env_t *env)
{
- axiom_soap_body_impl_t *body_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
- body_impl = AXIS2_INTF_TO_IMPL(body);
- if (body_impl->soap_fault)
+ if (soap_body->soap_fault)
{
- return body_impl->soap_fault;
+ return soap_body->soap_fault;
}
- else if (body_impl->soap_builder)
+ else if (soap_body->soap_builder)
{
- while (!(body_impl->soap_fault) && !(AXIOM_NODE_IS_COMPLETE(body_impl->om_ele_node, env)))
+ while (!(soap_body->soap_fault) && !(AXIOM_NODE_IS_COMPLETE(soap_body->om_ele_node, env)))
{
int status = AXIS2_SUCCESS;
- status = AXIOM_SOAP_BUILDER_NEXT(body_impl->soap_builder, env);
+ status = AXIOM_SOAP_BUILDER_NEXT(soap_body->soap_builder, env);
if (status == AXIS2_FAILURE)
return NULL;
}
- if (body_impl->soap_fault)
+ if (soap_body->soap_fault)
{
- body_impl->has_fault = AXIS2_TRUE;
- return body_impl->soap_fault;
+ soap_body->has_fault = AXIS2_TRUE;
+ return soap_body->soap_fault;
}
}
return NULL;
}
-/**
- * @param soapFault
- *
-axis2_status_t AXIS2_CALL
-axiom_soap_body_add_fault(axiom_soap_body_t *body,
- const axis2_env_t *env,
- axiom_soap_fault_t *soap_fault)
-{
- axiom_soap_body_impl_t *body_impl = NULL;
- axiom_node_t *fault_node = NULL;
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- AXIS2_PARAM_CHECK(env->error, soap_fault, AXIS2_FAILURE);
- body_impl = AXIS2_INTF_TO_IMPL(body);
-
- if (body_impl->has_fault)
- {
- AXIS2_ERROR_SET(env->error,
- AXIS2_ERROR_ONLY_ONE_SOAP_FAULT_ALLOWED_IN_BODY, AXIS2_FAILURE);
- return AXIS2_FAILURE;
- }
- fault_node = AXIOM_SOAP_FAULT_GET_BASE_NODE(soap_fault, env);
- if(fault_node)
- {
- body_impl->soap_fault = soap_fault;
- AXIOM_NODE_ADD_CHILD(fault_node , env, (body_impl->om_ele_node));
- body_impl->has_fault = AXIS2_TRUE;
- return AXIS2_SUCCESS;
- }
- return AXIS2_FAILURE;
-}
-*/
-
-axiom_node_t* AXIS2_CALL
-axiom_soap_body_get_base_node(axiom_soap_body_t *body,
+AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+axiom_soap_body_get_base_node(axiom_soap_body_t *soap_body,
const axis2_env_t *env)
{
AXIS2_ENV_CHECK(env, NULL);
- return AXIS2_INTF_TO_IMPL(body)->om_ele_node;
+ return soap_body->om_ele_node;
}
-axis2_status_t AXIS2_CALL
-axiom_soap_body_set_base_node(axiom_soap_body_t *body,
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+axiom_soap_body_set_base_node(axiom_soap_body_t *soap_body,
const axis2_env_t *env,
axiom_node_t *node)
{
- axiom_soap_body_impl_t *body_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE);
- body_impl = AXIS2_INTF_TO_IMPL(body);
if (AXIOM_NODE_GET_NODE_TYPE(node, env) != AXIOM_ELEMENT)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE);
return AXIS2_FAILURE;
}
- body_impl->om_ele_node = node;
+ soap_body->om_ele_node = node;
return AXIS2_SUCCESS;
}
-axis2_status_t AXIS2_CALL
-axiom_soap_body_set_builder(axiom_soap_body_t *body,
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+axiom_soap_body_set_builder(axiom_soap_body_t *soap_body,
const axis2_env_t *env,
axiom_soap_builder_t *builder)
{
- axiom_soap_body_impl_t *body_impl = NULL;
AXIS2_PARAM_CHECK(env->error, builder, AXIS2_FAILURE);
- body_impl = AXIS2_INTF_TO_IMPL(body);
- body_impl->soap_builder = builder;
+ soap_body->soap_builder = builder;
return AXIS2_SUCCESS;
}
-axis2_status_t AXIS2_CALL
-axiom_soap_body_build(axiom_soap_body_t *body,
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+axiom_soap_body_build(axiom_soap_body_t *soap_body,
const axis2_env_t *env)
{
- axiom_soap_body_impl_t *soap_body_impl = NULL;
int status = AXIS2_SUCCESS;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- soap_body_impl = AXIS2_INTF_TO_IMPL(body);
- if (soap_body_impl->om_ele_node && soap_body_impl->soap_builder)
+ if (soap_body->om_ele_node && soap_body->soap_builder)
{
- while (AXIOM_NODE_IS_COMPLETE(soap_body_impl->om_ele_node, env) != AXIS2_TRUE)
+ while (AXIOM_NODE_IS_COMPLETE(soap_body->om_ele_node, env) != AXIS2_TRUE)
{
- status = AXIOM_SOAP_BUILDER_NEXT(soap_body_impl->soap_builder, env);
+ status = AXIOM_SOAP_BUILDER_NEXT(soap_body->soap_builder, env);
if (status == AXIS2_FAILURE)
return AXIS2_FAILURE;
}
@@ -397,15 +251,13 @@
This is an internal function
*/
-axis2_status_t AXIS2_CALL
-axiom_soap_body_set_fault(axiom_soap_body_t *body,
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+axiom_soap_body_set_fault(axiom_soap_body_t *soap_body,
const axis2_env_t *env,
axiom_soap_fault_t *soap_fault)
{
- axiom_soap_body_impl_t *body_impl = NULL;
AXIS2_PARAM_CHECK(env->error, soap_fault, AXIS2_FAILURE);
- body_impl = AXIS2_INTF_TO_IMPL(body);
- if (body_impl->soap_fault)
+ if (soap_body->soap_fault)
{
AXIS2_ERROR_SET(env->error,
AXIS2_ERROR_ONLY_ONE_SOAP_FAULT_ALLOWED_IN_BODY, AXIS2_FAILURE);
@@ -413,44 +265,41 @@
}
else
{
- body_impl->soap_fault = soap_fault;
- body_impl->has_fault = AXIS2_TRUE;
+ soap_body->soap_fault = soap_fault;
+ soap_body->has_fault = AXIS2_TRUE;
}
return AXIS2_SUCCESS;
}
-axis2_status_t AXIS2_CALL
-axiom_soap_body_add_child(axiom_soap_body_t *body,
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+axiom_soap_body_add_child(axiom_soap_body_t *soap_body,
const axis2_env_t *env,
axiom_node_t *child)
{
- axiom_soap_body_impl_t *body_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, child, AXIS2_FAILURE);
- body_impl = AXIS2_INTF_TO_IMPL(body);
- if (body_impl->om_ele_node)
+ if (soap_body->om_ele_node)
{
- return AXIOM_NODE_ADD_CHILD(body_impl->om_ele_node, env, child);
+ return AXIOM_NODE_ADD_CHILD(soap_body->om_ele_node, env, child);
}
return AXIS2_FAILURE;
}
-int AXIS2_CALL
-axiom_soap_body_get_soap_version(axiom_soap_body_t *body,
+
+AXIS2_EXTERN int AXIS2_CALL
+axiom_soap_body_get_soap_version(axiom_soap_body_t *soap_body,
const axis2_env_t *env)
{
- axiom_soap_body_impl_t *body_impl = NULL;
axiom_element_t *body_ele = NULL;
axiom_namespace_t *om_ns = NULL;
axis2_char_t *uri = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- body_impl = AXIS2_INTF_TO_IMPL(body);
- if (!body_impl->om_ele_node)
+ if (!soap_body->om_ele_node)
return AXIS2_FAILURE;
- body_ele = AXIOM_NODE_GET_DATA_ELEMENT(body_impl->om_ele_node, env);
+ body_ele = AXIOM_NODE_GET_DATA_ELEMENT(soap_body->om_ele_node, env);
if (!body_ele)
return AXIS2_FAILURE;
- om_ns = AXIOM_ELEMENT_GET_NAMESPACE(body_ele, env, body_impl->om_ele_node);
+ om_ns = AXIOM_ELEMENT_GET_NAMESPACE(body_ele, env, soap_body->om_ele_node);
if (!om_ns)
return AXIS2_FAILURE;
uri = AXIOM_NAMESPACE_GET_URI(om_ns, env);
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org