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 sa...@apache.org on 2005/12/20 04:03:11 UTC

svn commit: r357887 - in /webservices/axis2/trunk/c: include/axis2_callback.h include/axis2_mep_client.h modules/core/clientapi/src/callback.c

Author: samisa
Date: Mon Dec 19 19:03:02 2005
New Revision: 357887

URL: http://svn.apache.org/viewcvs?rev=357887&view=rev
Log:
Added support for Sync Callback and formmatting

Modified:
    webservices/axis2/trunk/c/include/axis2_callback.h
    webservices/axis2/trunk/c/include/axis2_mep_client.h
    webservices/axis2/trunk/c/modules/core/clientapi/src/callback.c

Modified: webservices/axis2/trunk/c/include/axis2_callback.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_callback.h?rev=357887&r1=357886&r2=357887&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_callback.h (original)
+++ webservices/axis2/trunk/c/include/axis2_callback.h Mon Dec 19 19:03:02 2005
@@ -52,13 +52,17 @@
      *
      * @param result
      */
-    axis2_status_t (AXIS2_CALL *invoke_on_complete)(struct axis2_callback *callback, axis2_env_t **env, axis2_async_result_t *result);
+    axis2_status_t (AXIS2_CALL *invoke_on_complete)(struct axis2_callback *callback, 
+        axis2_env_t **env, 
+        axis2_async_result_t *result);
     /**
      * This Method is called by Axis2 once the Async Operation fails and the result returns
      *
      * @param e
      */
-    axis2_status_t (AXIS2_CALL *report_error)(struct axis2_callback *callback, axis2_env_t **env, int exception);
+    axis2_status_t (AXIS2_CALL *report_error)(struct axis2_callback *callback, 
+        axis2_env_t **env, 
+        int exception);
     /**
      * This says has the Async Operation is completed or not. this could be useful for poleing 
      * with a special callback written for poleing (checking repeatedly time to time).
@@ -74,13 +78,25 @@
      *
      * @return
      */
-    axis2_bool_t (AXIS2_CALL *get_complete)(struct axis2_callback *callback, axis2_env_t **env);
+    axis2_bool_t (AXIS2_CALL *get_complete)(struct axis2_callback *callback, 
+        axis2_env_t **env);
     /**
      * Method setComplete
      *
      * @param complete
      */
-    axis2_status_t (AXIS2_CALL *set_complete)(struct axis2_callback *callback, axis2_env_t **env, axis2_bool_t complete) ;
+    axis2_status_t (AXIS2_CALL *set_complete)(struct axis2_callback *callback, 
+        axis2_env_t **env, 
+        axis2_bool_t complete);
+    /* TODO axis2_soap_envelope_t* (AXIS2_CALL *get_envelope)(struct axis2_callback *callback, 
+        axis2_env_t **env);
+    axis2_status_t (AXIS2_CALL *set_envelope)(struct axis2_callback *callback, 
+        axis2_env_t **env, axis2_soap_envelope_t *envelope);*/
+    int (AXIS2_CALL *get_error)(struct axis2_callback *callback, 
+        axis2_env_t **env);
+    axis2_status_t (AXIS2_CALL *set_error)(struct axis2_callback *callback, 
+        axis2_env_t **env, 
+        int error);
     axis2_status_t (AXIS2_CALL *free)(struct axis2_callback *callback, 
                                        axis2_env_t **env);
 };
@@ -99,9 +115,13 @@
 /************************** Start of function macros **************************/
 
 #define AXIS2_CALLBACK_INVOKE_ON_COMPLETE(callback, env, result) ((callback)->ops->invoke_on_complete(callback, env, result))
-#define AXIS2_CALLBACK_INVOKE_REPORT_ERROR(callback, env, error) ((callback)->ops->report_error(callback, env, error))
-#define AXIS2_CALLBACK_INVOKE_GET_COMPLETE(callback, env) ((callback)->ops->get_complete(callback, env))
-#define AXIS2_CALLBACK_INVOKE_SET_COMPLETE(callback, env, complete) ((callback)->ops->set_complete(callback, env, complete))
+#define AXIS2_CALLBACK_REPORT_ERROR(callback, env, error) ((callback)->ops->report_error(callback, env, error))
+#define AXIS2_CALLBACK_GET_COMPLETE(callback, env) ((callback)->ops->get_complete(callback, env))
+#define AXIS2_CALLBACK_SET_COMPLETE(callback, env, complete) ((callback)->ops->set_complete(callback, env, complete))
+#define AXIS2_CALLBACK_GET_ENVELOPE(callback, env) ((callback)->ops->get_envelope(callback, env))
+#define AXIS2_CALLBACK_SET_ENVELOPE(callback, env, envelope) ((callback)->ops->set_envelope(callback, env, envelope))
+#define AXIS2_CALLBACK_GET_ERROR(callback, env) ((callback)->ops->get_error(callback, env))
+#define AXIS2_CALLBACK_SET_ERROR(callback, env, error) ((callback)->ops->set_error(callback, env, error))
 #define AXIS2_CALLBACK_FREE(callback, env) ((callback)->ops->free (callback, env))
 
 /************************** End of function macros ****************************/    

Modified: webservices/axis2/trunk/c/include/axis2_mep_client.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_mep_client.h?rev=357887&r1=357886&r2=357887&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_mep_client.h (original)
+++ webservices/axis2/trunk/c/include/axis2_mep_client.h Mon Dec 19 19:03:02 2005
@@ -49,12 +49,16 @@
  */  
 struct axis2_mep_client_ops
 {
-    axis2_char_t* (AXIS2_CALL *get_soap_action)(struct axis2_mep_client *mep_client, axis2_env_t **env);
+    axis2_char_t* (AXIS2_CALL *get_soap_action)(struct axis2_mep_client *mep_client, 
+        axis2_env_t **env);
     /**
      * prepare the message context for invocation, here the properties kept in the
      * MEPClient copied to the axis2_msg_ctx_t *
      */
-    axis2_status_t (AXIS2_CALL *prepare_invocation)(struct axis2_mep_client *mep_client, axis2_env_t **env, axis2_op_t *op, axis2_msg_ctx_t *msg_ctx);
+    axis2_status_t (AXIS2_CALL *prepare_invocation)(struct axis2_mep_client *mep_client, 
+        axis2_env_t **env, 
+        axis2_op_t *op, 
+        axis2_msg_ctx_t *msg_ctx);
     /**
      * This class prepare the SOAP Envelope using the payload
      *

Modified: webservices/axis2/trunk/c/modules/core/clientapi/src/callback.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/clientapi/src/callback.c?rev=357887&r1=357886&r2=357887&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/src/callback.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/src/callback.c Mon Dec 19 19:03:02 2005
@@ -24,6 +24,10 @@
     axis2_callback_t callback;
     /** callback complete? */
     axis2_bool_t complete;
+    /** envelope corresponding to the result */
+    /* TODO axis2_soap_envelope_t *envelope; */
+    /** error code */
+    int error;
 } axis2_callback_impl_t;
 
 /** Interface to implementation conversion macro */
@@ -33,6 +37,15 @@
 axis2_status_t AXIS2_CALL axis2_callback_report_error(struct axis2_callback *callback, axis2_env_t **env, int exception);
 axis2_bool_t AXIS2_CALL axis2_callback_get_complete(struct axis2_callback *callback, axis2_env_t **env);
 axis2_status_t AXIS2_CALL axis2_callback_set_complete(struct axis2_callback *callback, axis2_env_t **env, axis2_bool_t complete) ;
+/* TODO axis2_soap_envelope_t* AXIS2_CALL axis2_callback_get_envelope(struct axis2_callback *callback, 
+        axis2_env_t **env);
+axis2_status_t AXIS2_CALL axis2_callback_set_envelope(struct axis2_callback *callback, 
+        axis2_env_t **env, axis2_soap_envelope_t *envelope);*/
+int AXIS2_CALL axis2_callback_get_error(struct axis2_callback *callback, 
+        axis2_env_t **env);
+axis2_status_t AXIS2_CALL axis2_callback_set_error(struct axis2_callback *callback, 
+        axis2_env_t **env, 
+        int error);
 axis2_status_t AXIS2_CALL axis2_callback_free (struct axis2_callback *callback, 
                                    axis2_env_t **env);
 
@@ -51,6 +64,8 @@
 
     callback_impl->callback.ops = NULL;
     callback_impl->complete = AXIS2_FALSE;
+    /* TODO callback_impl->envelope = NULL;*/
+    callback_impl->error = AXIS2_ERROR_NONE;
     
     /* initialize ops */    
     callback_impl->callback.ops  = AXIS2_MALLOC( (*env)->allocator, sizeof(axis2_callback_ops_t) );
@@ -65,6 +80,10 @@
     callback_impl->callback.ops->report_error = axis2_callback_report_error;
     callback_impl->callback.ops->get_complete = axis2_callback_get_complete;
     callback_impl->callback.ops->set_complete = axis2_callback_set_complete;    
+    /* TODO callback_impl->callback.ops->get_envelope = axis2_callback_get_envelope;
+    callback_impl->callback.ops->set_envelope = axis2_callback_set_envelope; */
+    callback_impl->callback.ops->get_error = axis2_callback_get_error;
+    callback_impl->callback.ops->set_error = axis2_callback_set_error;
     callback_impl->callback.ops->free = axis2_callback_free;
 
     return &(callback_impl->callback);
@@ -90,6 +109,36 @@
 {
     AXIS2_FUNC_PARAM_CHECK(callback, env, AXIS2_FAILURE);
     AXIS2_INTF_TO_IMPL(callback)->complete = complete;
+    return AXIS2_SUCCESS;
+}
+
+/* TODO axis2_soap_envelope_t* AXIS2_CALL axis2_callback_get_envelope(struct axis2_callback *callback, 
+        axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(callback, env, AXIS2_FAILURE);
+    return AXIS2_INTF_TO_IMPL(callback)->envelope;
+}
+
+axis2_status_t AXIS2_CALL axis2_callback_set_envelope(struct axis2_callback *callback, 
+        axis2_env_t **env, axis2_soap_envelope_t *envelope)
+{
+    AXIS2_FUNC_PARAM_CHECK(callback, env, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(callback)->envelope = envelope;
+    return AXIS2_SUCCESS;
+}*/
+
+int AXIS2_CALL axis2_callback_get_error(struct axis2_callback *callback, 
+        axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(callback, env, AXIS2_FAILURE);
+    return AXIS2_INTF_TO_IMPL(callback)->error;
+}
+axis2_status_t AXIS2_CALL axis2_callback_set_error(struct axis2_callback *callback, 
+        axis2_env_t **env, 
+        int error)
+{
+    AXIS2_FUNC_PARAM_CHECK(callback, env, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(callback)->error = error;
     return AXIS2_SUCCESS;
 }