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;
}