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