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 da...@apache.org on 2006/03/29 11:34:36 UTC

svn commit: r389726 - in /webservices/axis2/trunk/c: ./ include/ modules/core/clientapi/ modules/core/description/ modules/core/engine/ modules/util/ samples/client/dynamic_invocation/ test/unit/util/

Author: damitha
Date: Wed Mar 29 01:34:33 2006
New Revision: 389726

URL: http://svn.apache.org/viewcvs?rev=389726&view=rev
Log:
Files related to dynamic invocation

Added:
    webservices/axis2/trunk/c/include/axis2_di_client.h
    webservices/axis2/trunk/c/modules/util/dll_desc.c
      - copied unchanged from r389684, webservices/axis2/trunk/c/modules/core/description/dll_desc.c
    webservices/axis2/trunk/c/modules/util/param.c
      - copied unchanged from r389684, webservices/axis2/trunk/c/modules/core/description/param.c
    webservices/axis2/trunk/c/modules/util/param_container.c
      - copied unchanged from r389684, webservices/axis2/trunk/c/modules/core/description/param_container.c
    webservices/axis2/trunk/c/samples/client/dynamic_invocation/echo_client.c
      - copied, changed from r389686, webservices/axis2/trunk/c/samples/client/dynamic_invocation/main.c
Removed:
    webservices/axis2/trunk/c/modules/core/clientapi/di_client.c
    webservices/axis2/trunk/c/modules/core/description/dll_desc.c
    webservices/axis2/trunk/c/modules/core/description/param.c
    webservices/axis2/trunk/c/modules/core/description/param_container.c
    webservices/axis2/trunk/c/samples/client/dynamic_invocation/di_client.c
    webservices/axis2/trunk/c/samples/client/dynamic_invocation/main.c
Modified:
    webservices/axis2/trunk/c/build.sh
    webservices/axis2/trunk/c/configure.ac
    webservices/axis2/trunk/c/modules/core/clientapi/Makefile.am
    webservices/axis2/trunk/c/modules/core/description/Makefile.am
    webservices/axis2/trunk/c/modules/core/engine/Makefile.am
    webservices/axis2/trunk/c/modules/util/Makefile.am
    webservices/axis2/trunk/c/samples/client/dynamic_invocation/Makefile.am
    webservices/axis2/trunk/c/test/unit/util/Makefile.am

Modified: webservices/axis2/trunk/c/build.sh
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/build.sh?rev=389726&r1=389725&r2=389726&view=diff
==============================================================================
--- webservices/axis2/trunk/c/build.sh (original)
+++ webservices/axis2/trunk/c/build.sh Wed Mar 29 01:34:33 2006
@@ -2,6 +2,6 @@
 ./autogen.sh
 AXIS2C_HOME=`pwd`/deploy
 export AXIS2C_HOME
-./configure --prefix=${AXIS2C_HOME} --enable-tests=yes --enable-trace=yes  --with-apache2=/usr/include/apache2 --with-apr=/usr/include/apr-0
+./configure --prefix=${AXIS2C_HOME} --enable-tests=yes --enable-trace=yes  --with-apache2=/usr/include/apache2 --with-apr=/usr/include/apr-0 --enable-diclient=yes
 make
 make install

Modified: webservices/axis2/trunk/c/configure.ac
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/configure.ac?rev=389726&r1=389725&r2=389726&view=diff
==============================================================================
--- webservices/axis2/trunk/c/configure.ac (original)
+++ webservices/axis2/trunk/c/configure.ac Wed Mar 29 01:34:33 2006
@@ -172,6 +172,23 @@
   CFLAGS="$CFLAGS"
 )
 
+AC_MSG_CHECKING(whether to build dynamic invocation client library)
+AC_ARG_ENABLE(diclient, [  --enable-diclient    build diclient library wrapper. default=no],
+[ case "${enableval}" in
+  no)
+    AC_MSG_RESULT(no)
+    DICLIENT_DIR=""
+    ;;
+  *)
+    AC_MSG_RESULT(yes)
+    DICLIENT_DIR="diclient"
+
+    ;;
+  esac ],
+  AC_MSG_RESULT(yes)
+  DICLIENT_DIR="diclient"
+)
+
 PKG_CHECK_MODULES(LIBXML2, libxml-2.0)
 CFLAGS="$CFLAGS $LIBXML2_CFLAGS $GUTHTHILA_CFLAGS"
 
@@ -183,6 +200,7 @@
 AC_SUBST(LIBXML2_CFLAGS)
 AC_SUBST(LIBXML2_LIBS)
 AC_SUBST(LIBXML2_DIR)
+AC_SUBST(DICLIENT_DIR)
 AC_SUBST(GUTHTHILA_DIR)
 AC_SUBST(GUTHTHILA_LIBS)
 AC_SUBST(TESTDIR)
@@ -206,6 +224,7 @@
     modules/core/transport/http/server/apache2/Makefile \
     modules/core/deployment/Makefile \
     modules/core/clientapi/Makefile \
+    modules/core/clientapi/diclient/Makefile \
     modules/core/receivers/Makefile \
     modules/core/util/Makefile \
     modules/xml/Makefile \

Added: webservices/axis2/trunk/c/include/axis2_di_client.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_di_client.h?rev=389726&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_di_client.h (added)
+++ webservices/axis2/trunk/c/include/axis2_di_client.h Wed Mar 29 01:34:33 2006
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef AXIS2_DI_CLIENT_H
+#define AXIS2_DI_CLIENT_H
+
+
+/**
+  * @file axis2_di_client.h
+  * @brief axis2 Dynamic Invocation Client interface
+  */
+
+#include <axis2_defines.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/** @defgroup axis2_di_client Dynamic Invocation Client 
+ * @ingroup axis2_core_clientapi
+ * @{
+ */
+    
+typedef struct axis2_di_client_ops axis2_di_client_ops_t;
+typedef struct axis2_di_client axis2_di_client_t; 
+
+struct axis2_om_node;
+    
+/** 
+ * @brief Dynamic Invocation Client ops struct
+ * Encapsulator struct for ops of axis2_di_client
+ */  
+struct axis2_di_client_ops
+{
+    axis2_status_t (AXIS2_CALL *
+	free)(struct axis2_di_client *di_client, 
+          axis2_env_t **env);
+
+    axis2_status_t (AXIS2_CALL *
+    invoke) (axis2_di_client_t *di_client,
+             axis2_env_t **env,
+             axis2_char_t *wsdl_file_name,
+             axis2_om_node_t *node);
+};
+
+/** 
+ * @brief Dynamic Invocation Client struct
+  *	Axis2 Dynamic Invocation Client
+ */
+struct axis2_di_client
+{
+    axis2_di_client_ops_t *ops;    
+};
+
+AXIS2_DECLARE(axis2_di_client_t*) 
+axis2_di_client_create(axis2_env_t **env);
+
+/************************** Start of function macros **************************/
+
+#define AXIS2_DI_CLIENT_FREE(di_client, env) \
+		((di_client)->ops->free (di_client, env))
+		
+#define AXIS2_DI_CLIENT_INVOKE(di_client, env, wsdl_file_name, node) \
+		((di_client)->ops->invoke (di_client, env, wsdl_file_name, node))
+
+/************************** End of function macros ****************************/    
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* AXIS2_DI_CLIENT_H */
+

Modified: webservices/axis2/trunk/c/modules/core/clientapi/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/clientapi/Makefile.am?rev=389726&r1=389725&r2=389726&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/Makefile.am (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/Makefile.am Wed Mar 29 01:34:33 2006
@@ -1,4 +1,5 @@
 TESTS =
+SUBDIRS = $(DICLIENT_DIR) 
 noinst_LTLIBRARIES = libaxis2_clientapi.la
 libaxis2_clientapi_la_SOURCES = \
                                 async_result.c \

Modified: webservices/axis2/trunk/c/modules/core/description/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/Makefile.am?rev=389726&r1=389725&r2=389726&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/Makefile.am (original)
+++ webservices/axis2/trunk/c/modules/core/description/Makefile.am Wed Mar 29 01:34:33 2006
@@ -2,20 +2,17 @@
 noinst_LTLIBRARIES = libaxis2_description.la
 
 libaxis2_description_la_SOURCES = \
-                                param_container.c \
                                 op.c \
                                 svc.c \
                                 module.c \
                                 module_desc.c \
-                                param.c \
                                 svc_grp.c \
                                 phase_rule.c \
                                 handler_desc.c \
                                 flow.c \
                                 flow_container.c \
                                 transport_in_desc.c \
-                                transport_out_desc.c \
-                                dll_desc.c
+                                transport_out_desc.c
 
 INCLUDES = -I$(top_builddir)/include \
             -I$(top_builddir)/modules/util \

Modified: webservices/axis2/trunk/c/modules/core/engine/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/engine/Makefile.am?rev=389726&r1=389725&r2=389726&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/engine/Makefile.am (original)
+++ webservices/axis2/trunk/c/modules/core/engine/Makefile.am Wed Mar 29 01:34:33 2006
@@ -15,12 +15,10 @@
                                 soap_body_disp.c \
                                 ctx_handler.c \
                                 engine.c \
-                                ../description/param_container.c \
                                 ../description/op.c \
                                 ../description/svc.c \
                                 ../description/module.c \
                                 ../description/module_desc.c \
-                                ../description/param.c \
                                 ../description/svc_grp.c \
                                 ../description/phase_rule.c \
                                 ../description/handler_desc.c \
@@ -28,7 +26,6 @@
                                 ../description/flow_container.c \
                                 ../description/transport_in_desc.c \
                                 ../description/transport_out_desc.c \
-                                ../description/dll_desc.c \
                                 ../receivers/msg_recv.c \
                                 ../receivers/raw_xml_in_out_msg_recv.c \
                                 ../receivers/svr_callback.c \

Modified: webservices/axis2/trunk/c/modules/util/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/util/Makefile.am?rev=389726&r1=389725&r2=389726&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/util/Makefile.am (original)
+++ webservices/axis2/trunk/c/modules/util/Makefile.am Wed Mar 29 01:34:33 2006
@@ -29,7 +29,10 @@
                         uuid_gen.c\
                         thread_pool.c \
                         property.c \
-                        types.c
+                        types.c \
+						param.c \
+						param_container.c \
+						dll_desc.c
 
 INCLUDES = -I$(top_builddir)/include \
             -I$(top_builddir)/modules/util \

Modified: webservices/axis2/trunk/c/samples/client/dynamic_invocation/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/samples/client/dynamic_invocation/Makefile.am?rev=389726&r1=389725&r2=389726&view=diff
==============================================================================
--- webservices/axis2/trunk/c/samples/client/dynamic_invocation/Makefile.am (original)
+++ webservices/axis2/trunk/c/samples/client/dynamic_invocation/Makefile.am Wed Mar 29 01:34:33 2006
@@ -1,11 +1,9 @@
 prgbindir=$(prefix)/bin/samples
-prgbin_PROGRAMS = di_client
+prgbin_PROGRAMS = echo_client
 samplesdir=$(prefix)/samples/client/dynamic_invocation
-samples_DATA=di_client.c
-di_client_SOURCES = di_client.c \
-								main.c
-
-di_client_LDADD   =  \
+samples_DATA=echo_client.c
+echo_client_SOURCES = echo_client.c
+echo_client_LDADD   =  \
 					-laxis2_util \
                     -laxis2_om \
                     -laxis2_wsdl \

Copied: webservices/axis2/trunk/c/samples/client/dynamic_invocation/echo_client.c (from r389686, webservices/axis2/trunk/c/samples/client/dynamic_invocation/main.c)
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/samples/client/dynamic_invocation/echo_client.c?p2=webservices/axis2/trunk/c/samples/client/dynamic_invocation/echo_client.c&p1=webservices/axis2/trunk/c/samples/client/dynamic_invocation/main.c&r1=389686&r2=389726&rev=389726&view=diff
==============================================================================
--- webservices/axis2/trunk/c/samples/client/dynamic_invocation/main.c (original)
+++ webservices/axis2/trunk/c/samples/client/dynamic_invocation/echo_client.c Wed Mar 29 01:34:33 2006
@@ -20,7 +20,7 @@
 #include <axis2_stream.h>
 #include <axis2_log_default.h>
 #include <axis2_error_default.h>
-#include "di_client.h"
+#include <axis2_di_client.h>
 #include <stdlib.h>
 #include <stdio.h>
 
@@ -36,6 +36,7 @@
     axis2_error_t *error = NULL;
     axis2_log_t *log = NULL;
     axis2_allocator_t *allocator = NULL;
+    char *wsdl_file_name = NULL;
 
     /* set up the envioronment with allocator and log*/
     allocator = axis2_allocator_init (NULL);
@@ -50,10 +51,10 @@
       printf("Usage: print <wsdl_File_Name>\n");
       return 1;
     }
-	wp = axis2_wsdl4c_parser_create(argv[1], "");
     /* build the SOAP request message content using OM API.*/
     node = build_om_programatically(&env);
-	status = axis2_di_client_invoke(&env, wp, node);
+    wsdl_file_name = argv[1];
+	status = axis2_di_client_invoke(&env, wsdl_file_name, node);
 	if(AXIS2_SUCCESS == status)
 		printf("status:%s\n", "Success");
 	else

Modified: webservices/axis2/trunk/c/test/unit/util/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/util/Makefile.am?rev=389726&r1=389725&r2=389726&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/unit/util/Makefile.am (original)
+++ webservices/axis2/trunk/c/test/unit/util/Makefile.am Wed Mar 29 01:34:33 2006
@@ -18,15 +18,6 @@
 INCLUDES = -I$(top_builddir)/include \
             -I${CUTEST_HOME}/include \
             -I$(top_builddir)/modules/util \
-            -I$(top_builddir)/modules/core/description \
-            -I$(top_builddir)/modules/core/context \
-            -I$(top_builddir)/modules/core/phaseresolver \
-            -I$(top_builddir)/modules/core/deployment \
-            -I$(top_builddir)/modules/core/transport \
-            -I$(top_builddir)/modules/core/engine \
-            -I$(top_builddir)/modules/core/clientapi \
-            -I$(top_builddir)/modules/wsdl \
-            -I$(top_builddir)/modules/xml/parser \
             -I$(top_builddir)/modules/platforms
 
 prgbin_PROGRAMS = util_test
@@ -38,11 +29,6 @@
                      $(top_builddir)/test/unit/util/libtest_util.la \
                     $(top_builddir)/modules/util/libaxis2_util.la \
 					$(top_builddir)/modules/platforms/unix/libaxis2_unix.la \
-					$(top_builddir)/modules/xml/om/libaxis2_om.la \
-					$(top_builddir)/modules/xml/soap/libaxis2_soap.la \
-					$(top_builddir)/modules/core/engine/libaxis2_engine.la \
-					$(top_builddir)/modules/wsdl/libaxis2_wsdl.la \
-					$(top_builddir)/modules/xml/parser/libxml2/libaxis2_parser.la \
                     -lpthread \
                     $(GUTHTHILA_LIBS) \
                     $(LIBXML2_LIBS)