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/04/01 08:10:05 UTC

svn commit: r524539 - in /webservices/axis2/trunk/c: include/axis2_transport_sender.h modules/core/transport/http/sender/http_transport_sender.c

Author: samisa
Date: Sat Mar 31 23:10:04 2007
New Revision: 524539

URL: http://svn.apache.org/viewvc?view=rev&rev=524539
Log:
Made ops struct static

Modified:
    webservices/axis2/trunk/c/include/axis2_transport_sender.h
    webservices/axis2/trunk/c/modules/core/transport/http/sender/http_transport_sender.c

Modified: webservices/axis2/trunk/c/include/axis2_transport_sender.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/include/axis2_transport_sender.h?view=diff&rev=524539&r1=524538&r2=524539
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_transport_sender.h (original)
+++ webservices/axis2/trunk/c/include/axis2_transport_sender.h Sat Mar 31 23:10:04 2007
@@ -56,59 +56,59 @@
      * @brief Description Transport Sender ops struct
      * Encapsulator struct for ops of axis2_transport_sender
      */
-     struct axis2_transport_sender_ops
+    struct axis2_transport_sender_ops
     {
-        /** De-allocate memory
-    * @param transport_sender pointer to transport sender
-    * @param env pointer to environment struct
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        void (AXIS2_CALL *
-                free)(
-                    axis2_transport_sender_t *transport_sender,
-                    const axutil_env_t *env);
-
-        /**
-         * Initialize
-         * @param transport_sender pointer to transport sender
-    * @param env pointer to environment
-    * @param conf_ctx pointer to configuration context
-    * @param transport_out pointer to transport_out
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
+       /**
+        * Initialize
+        * @param transport_sender pointer to transport sender
+        * @param env pointer to environment
+        * @param conf_ctx pointer to configuration context
+        * @param transport_out pointer to transport_out
+        * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+        */
         axis2_status_t (AXIS2_CALL *
                 init)(
                     axis2_transport_sender_t *transport_sender,
                     const axutil_env_t *env,
                     struct axis2_conf_ctx *conf_ctx,
                     struct axis2_transport_out_desc *transport_out);
-
-        /**
-         * Clean up
-         * @param transport_sender pointer to transport sender
-    * @param env pointer to environmnet struct
-    * @param msg_ctx pointer to message context
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
+       /**
+        * Invoke
+        * @param transport_sender pointer to transport sender
+        * @param env pointer to environment struct
+        * @param msg_ctx pointer to message context
+        * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+        */
         axis2_status_t (AXIS2_CALL *
-                cleanup)(
+                invoke)(
                     axis2_transport_sender_t *transport_sender,
                     const axutil_env_t *env,
                     struct axis2_msg_ctx *msg_ctx);
 
-        /**
-         * Invoke
-         * @param transport_sender pointer to transport sender
-    * @param env pointer to environment struct
-    * @param msg_ctx pointer to message context
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
+       /**
+        * Clean up
+        * @param transport_sender pointer to transport sender
+        * @param env pointer to environmnet struct
+        * @param msg_ctx pointer to message context
+        * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+        */
         axis2_status_t (AXIS2_CALL *
-                invoke)(
+                cleanup)(
                     axis2_transport_sender_t *transport_sender,
                     const axutil_env_t *env,
                     struct axis2_msg_ctx *msg_ctx);
 
+
+       /** De-allocate memory
+        * @param transport_sender pointer to transport sender
+        * @param env pointer to environment struct
+        * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+        */
+        void (AXIS2_CALL *
+                free)(
+                    axis2_transport_sender_t *transport_sender,
+                    const axutil_env_t *env);
+
     };
 
     /**
@@ -118,8 +118,8 @@
      */
      struct axis2_transport_sender
     {
-   /** operations of axis transport sender */
-        axis2_transport_sender_ops_t *ops;
+        /** operations of axis transport sender */
+        const axis2_transport_sender_ops_t *ops;
     };
 
     /**

Modified: webservices/axis2/trunk/c/modules/core/transport/http/sender/http_transport_sender.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/transport/http/sender/http_transport_sender.c?view=diff&rev=524539&r1=524538&r2=524539
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/sender/http_transport_sender.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/sender/http_transport_sender.c Sat Mar 31 23:10:04 2007
@@ -83,6 +83,13 @@
     axis2_transport_sender_t *transport_sender,
     const axutil_env_t *env);
 
+static const axis2_transport_sender_ops_t http_transport_sender_ops_var = {
+    axis2_http_transport_sender_init,
+    axis2_http_transport_sender_invoke,
+    axis2_http_transport_sender_clean_up,
+    axis2_http_transport_sender_free
+};
+
 axis2_transport_sender_t *AXIS2_CALL
 axis2_http_transport_sender_create(
     const axutil_env_t *env)
@@ -104,24 +111,7 @@
     transport_sender_impl->connection_timeout =
         AXIS2_HTTP_DEFAULT_CONNECTION_TIMEOUT;
     transport_sender_impl->so_timeout = AXIS2_HTTP_DEFAULT_SO_TIMEOUT;
-    transport_sender_impl->transport_sender.ops = AXIS2_MALLOC(env->allocator
-            , sizeof(axis2_transport_sender_ops_t));
-    if (! transport_sender_impl->transport_sender.ops)
-    {
-        axis2_http_transport_sender_free((axis2_transport_sender_t *)
-                transport_sender_impl, env);
-        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
-        return NULL;
-    }
-
-    transport_sender_impl->transport_sender.ops->invoke =
-        axis2_http_transport_sender_invoke;
-    transport_sender_impl->transport_sender.ops->cleanup =
-        axis2_http_transport_sender_clean_up;
-    transport_sender_impl->transport_sender.ops->init =
-        axis2_http_transport_sender_init;
-    transport_sender_impl->transport_sender.ops->free =
-        axis2_http_transport_sender_free;
+    transport_sender_impl->transport_sender.ops = &http_transport_sender_ops_var;
 
     return &(transport_sender_impl->transport_sender);
 }
@@ -141,9 +131,6 @@
         AXIS2_FREE(env->allocator, transport_sender_impl->http_version);
         transport_sender_impl->http_version = NULL;
     }
-
-    if (transport_sender->ops)
-        AXIS2_FREE(env->allocator, transport_sender->ops);
 
     AXIS2_FREE(env->allocator, transport_sender_impl);
     return;



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org