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:22:33 UTC

svn commit: r524543 - in /webservices/axis2/trunk/c: include/axis2_transport_receiver.h modules/core/transport/http/receiver/http_receiver.c

Author: samisa
Date: Sat Mar 31 23:22:32 2007
New Revision: 524543

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

Modified:
    webservices/axis2/trunk/c/include/axis2_transport_receiver.h
    webservices/axis2/trunk/c/modules/core/transport/http/receiver/http_receiver.c

Modified: webservices/axis2/trunk/c/include/axis2_transport_receiver.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/include/axis2_transport_receiver.h?view=diff&rev=524543&r1=524542&r2=524543
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_transport_receiver.h (original)
+++ webservices/axis2/trunk/c/include/axis2_transport_receiver.h Sat Mar 31 23:22:32 2007
@@ -63,79 +63,77 @@
      * @brief Description Transport Receiver ops struct
      * Encapsulator struct for ops of axis2_transport_receiver
      */
-     struct axis2_transport_receiver_ops
+    struct axis2_transport_receiver_ops
     {
-        /**
-    * De-allocate memory
-    * @param transport_receiver pointer to transport receiver
-    * @param env pointer to environment struct
+       /**
+        * @param transport_receiver pointer to transport receiver
+        * @param env pointer to environment struct
+        * @param conf_ctx pointer to configuratoin context
+        * @param intrasport_in pointer to transport_in
         */
-        void (AXIS2_CALL *
-                free)(
-                    axis2_transport_receiver_t *transport_receiver,
-                    const axutil_env_t *env);
-
-   /**
-    * @param transport_receiver
-    * @param env pointer to environmnet struct
-    */
         axis2_status_t (AXIS2_CALL *
-                start)(
+                init) (
                     axis2_transport_receiver_t *transport_receiver,
-                    const axutil_env_t *env);
+                    const axutil_env_t *env,
+                    struct axis2_conf_ctx *conf_ctx,
+                    struct axis2_transport_in_desc *transport_in);
 
-   /**
-    * @param transport_receiver pointer to transport receiver
-    * @param env pointer to environment struct
-    */
+       /**
+        * @param transport_receiver
+        * @param env pointer to environmnet struct
+        */
         axis2_status_t (AXIS2_CALL *
-                stop)(
+                start)(
                     axis2_transport_receiver_t *transport_receiver,
                     const axutil_env_t *env);
 
-   /**
-    * @param tranport_receiver pointer to transport receiver
-    * @param env pointer to environmnet struct
-    * @param svc_name pointer to service name
-    */
+       /**
+        * @param tranport_receiver pointer to transport receiver
+        * @param env pointer to environmnet struct
+        * @param svc_name pointer to service name
+        */
         axis2_endpoint_ref_t* (AXIS2_CALL *
                 get_reply_to_epr)(
                     axis2_transport_receiver_t *transport_receiver,
                     const axutil_env_t *env,
                     const axis2_char_t *svc_name);
 
-   /**
-    * @param transport_receiver pointer to transport receiver
-    * @param env pointer to environment struct
-    * @param conf_ctx pointer to configuratoin context
-    * @param intrasport_in pointer to transport_in
-    */
-        axis2_status_t (AXIS2_CALL *
-                init) (
-                    axis2_transport_receiver_t *transport_receiver,
-                    const axutil_env_t *env,
-                    struct axis2_conf_ctx *conf_ctx,
-                    struct axis2_transport_in_desc *transport_in);
-
-
-   /**
-    * @param server pointer to server
-    * @param env pointer to environment struct
-    */
+       /**
+        * @param server pointer to server
+        * @param env pointer to environment struct
+        */
         struct axis2_conf_ctx* (AXIS2_CALL *
                 get_conf_ctx)(
                     axis2_transport_receiver_t *server,
                     const axutil_env_t *env);
 
 
-   /**
-    * @param server pointer to server
-    * @param env pointer to environment struct
-    */
+       /**
+        * @param server pointer to server
+        * @param env pointer to environment struct
+        */
         axis2_bool_t (AXIS2_CALL *
                 is_running)(
                     axis2_transport_receiver_t *server,
                     const axutil_env_t *env);
+       /**
+        * @param transport_receiver pointer to transport receiver
+        * @param env pointer to environment struct
+        */
+        axis2_status_t (AXIS2_CALL *
+                stop)(
+                    axis2_transport_receiver_t *transport_receiver,
+                    const axutil_env_t *env);
+
+       /**
+        * De-allocate memory
+        * @param transport_receiver pointer to transport receiver
+        * @param env pointer to environment struct
+        */
+        void (AXIS2_CALL *
+                free)(
+                    axis2_transport_receiver_t *transport_receiver,
+                    const axutil_env_t *env);
 
     };
 
@@ -144,7 +142,7 @@
      */
      struct axis2_transport_receiver
     {
-        axis2_transport_receiver_ops_t *ops;
+        const axis2_transport_receiver_ops_t *ops;
     };
 
 

Modified: webservices/axis2/trunk/c/modules/core/transport/http/receiver/http_receiver.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/transport/http/receiver/http_receiver.c?view=diff&rev=524543&r1=524542&r2=524543
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/receiver/http_receiver.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/receiver/http_receiver.c Sat Mar 31 23:22:32 2007
@@ -83,6 +83,16 @@
     axis2_transport_receiver_t *server,
     const axutil_env_t *env);
 
+static const axis2_transport_receiver_ops_t http_transport_receiver_ops_var = {
+    axis2_http_server_init,
+    axis2_http_server_start,
+    axis2_http_server_get_reply_to_epr,
+    axis2_http_server_get_conf_ctx,
+    axis2_http_server_is_running,
+    axis2_http_server_stop,
+    axis2_http_server_free
+};
+
 AXIS2_EXTERN axis2_transport_receiver_t *AXIS2_CALL
 axis2_http_server_create(
     const axutil_env_t *env,
@@ -106,14 +116,8 @@
     server_impl->conf_ctx_private = NULL;
     server_impl->port = port;
 
-    server_impl->http_server.ops = AXIS2_MALLOC(env->allocator,
-            sizeof(axis2_transport_receiver_ops_t));
-    if (! server_impl->http_server.ops)
-    {
-        axis2_http_server_free((axis2_transport_receiver_t *) server_impl, env);
-        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
-        return NULL;
-    }
+    server_impl->http_server.ops = &http_transport_receiver_ops_var;
+    
     if (repo)
     {
         /**
@@ -130,14 +134,6 @@
         }
         server_impl->conf_ctx = server_impl->conf_ctx_private;
     }
-    server_impl->http_server.ops->init = axis2_http_server_init;
-    server_impl->http_server.ops->start = axis2_http_server_start;
-    server_impl->http_server.ops->stop = axis2_http_server_stop;
-    server_impl->http_server.ops->get_reply_to_epr =
-        axis2_http_server_get_reply_to_epr;
-    server_impl->http_server.ops->get_conf_ctx = axis2_http_server_get_conf_ctx;
-    server_impl->http_server.ops->is_running = axis2_http_server_is_running;
-    server_impl->http_server.ops->free = axis2_http_server_free;
 
     return &(server_impl->http_server);
 }
@@ -167,10 +163,6 @@
      */
     server_impl->conf_ctx = NULL;
 
-    if (server->ops)
-    {
-        AXIS2_FREE(env->allocator, server->ops);
-    }
     AXIS2_FREE(env->allocator, server_impl);
     return;
 }



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