You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2010/01/22 13:08:01 UTC

svn commit: r902069 - /webservices/axis2/trunk/c/src/core/transport/tcp/receiver/tcp_receiver.c

Author: nandika
Date: Fri Jan 22 12:08:01 2010
New Revision: 902069

URL: http://svn.apache.org/viewvc?rev=902069&view=rev
Log:
get, set server ip method added

Modified:
    webservices/axis2/trunk/c/src/core/transport/tcp/receiver/tcp_receiver.c

Modified: webservices/axis2/trunk/c/src/core/transport/tcp/receiver/tcp_receiver.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/transport/tcp/receiver/tcp_receiver.c?rev=902069&r1=902068&r2=902069&view=diff
==============================================================================
--- webservices/axis2/trunk/c/src/core/transport/tcp/receiver/tcp_receiver.c (original)
+++ webservices/axis2/trunk/c/src/core/transport/tcp/receiver/tcp_receiver.c Fri Jan 22 12:08:01 2010
@@ -34,6 +34,7 @@
     axis2_transport_receiver_t tcp_server;
     axis2_tcp_svr_thread_t *svr_thread;
     int port;
+	axis2_char_t *svr_ip;
     axis2_conf_ctx_t *conf_ctx;
     axis2_conf_ctx_t *conf_ctx_private;
     axis2_conf_t *conf;
@@ -77,6 +78,7 @@
     const axutil_env_t * env,
     const axis2_char_t * svc_name);
 
+
 axis2_bool_t AXIS2_CALL
 axis2_tcp_server_is_running(
     axis2_transport_receiver_t * server,
@@ -92,9 +94,27 @@
     axis2_transport_receiver_t * server,
     const axutil_env_t * env);
 
+static  axis2_char_t* AXIS2_CALL
+axis2_tcp_server_get_server_ip(
+axis2_transport_receiver_t *server,
+const axutil_env_t *env);
+
+static void AXIS2_CALL
+axis2_tcp_server_set_server_ip(
+axis2_transport_receiver_t *transport_receiver,
+const axutil_env_t *env,
+ axis2_char_t *serverip);
+
 static const axis2_transport_receiver_ops_t tcp_transport_receiver_ops_var = {
-    axis2_tcp_server_init, axis2_tcp_server_start, axis2_tcp_server_get_reply_to_epr,axis2_tcp_server_get_epr_for_service,
-    axis2_tcp_server_get_conf_ctx, axis2_tcp_server_is_running,axis2_tcp_server_set_is_application_client_side,
+    axis2_tcp_server_init, 
+	axis2_tcp_server_start, 
+	axis2_tcp_server_get_reply_to_epr,
+	axis2_tcp_server_get_epr_for_service,
+	axis2_tcp_server_get_server_ip,
+	axis2_tcp_server_set_server_ip,
+    axis2_tcp_server_get_conf_ctx, 
+	axis2_tcp_server_is_running,
+	axis2_tcp_server_set_is_application_client_side,
 	axis2_tcp_server_stop,
     axis2_tcp_server_free };
 
@@ -120,7 +140,7 @@
     server_impl->conf_ctx = NULL;
     server_impl->conf_ctx_private = NULL;
     server_impl->port = port;
-
+	server_impl->svr_ip = NULL;
     server_impl->tcp_server.ops = &tcp_transport_receiver_ops_var;
 
     if(repo)
@@ -301,18 +321,12 @@
     const axis2_char_t *host_address = NULL;
     axis2_char_t *svc_path = NULL;
     axutil_url_t *url = NULL;
-    
-	axis2_tcp_svr_thread_t *svr_thread = NULL;
-	int port = -1;
-	    AXIS2_ENV_CHECK(env, NULL);
 
-AXIS2_PARAM_CHECK(env->error, svc_name, NULL);
+	AXIS2_PARAM_CHECK(env->error, svc_name, NULL);
     host_address = "127.0.0.1"; /* TODO : get from axis2.xml */
     svc_path = axutil_stracat(env, "/axis2/services/", svc_name);
-	svr_thread = AXIS2_INTF_TO_IMPL(server)->svr_thread;
-	if(svr_thread)
-		port = axis2_tcp_svr_thread_get_local_port(svr_thread, env);
-    url = axutil_url_create(env, "tcp", host_address, port, svc_path);
+	
+    url = axutil_url_create(env, "tcp", host_address, AXIS2_INTF_TO_IMPL(server)->port, svc_path);
     AXIS2_FREE(env->allocator, svc_path);
     if(!url)
     {
@@ -338,6 +352,24 @@
     return axis2_tcp_svr_thread_is_running(server_impl->svr_thread, env);
 }
 
+static  axis2_char_t* AXIS2_CALL
+axis2_tcp_server_get_server_ip(
+axis2_transport_receiver_t *server,
+const axutil_env_t *env)
+{
+	return AXIS2_INTF_TO_IMPL(server)->svr_ip;
+}
+
+static void AXIS2_CALL
+axis2_tcp_server_set_server_ip(
+axis2_transport_receiver_t *server,
+const axutil_env_t *env,
+ axis2_char_t *serverip)
+{
+	AXIS2_INTF_TO_IMPL(server)->svr_ip = serverip;
+}
+
+
 /**
  * Following block distinguish the exposed part of the dll.
  */