00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIS2_MSG_RECV_H
00020 #define AXIS2_MSG_RECV_H
00021
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045
00046 #include <axis2_defines.h>
00047 #include <axis2_const.h>
00048 #include <axis2_svc_skeleton.h>
00049 #include <axis2_msg_ctx.h>
00050 #include <axis2_op_ctx.h>
00051 #include <axis2_svr_callback.h>
00052
00053 struct axis2_msg_ctx;
00054
00056 typedef struct axis2_msg_recv axis2_msg_recv_t;
00057
00058 typedef axis2_status_t(
00059 AXIS2_CALL
00060 * AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC) (
00061 axis2_msg_recv_t * msg_recv,
00062 const axutil_env_t * env,
00063 struct axis2_msg_ctx * in_msg_ctx,
00064 struct axis2_msg_ctx * out_msg_ctx);
00065
00066 typedef axis2_status_t(
00067 AXIS2_CALL
00068 * AXIS2_MSG_RECV_RECEIVE) (
00069 axis2_msg_recv_t * msg_recv,
00070 const axutil_env_t * env,
00071 struct axis2_msg_ctx * in_msg_ctx,
00072 void *callback_recv_param);
00073
00080 AXIS2_EXTERN void AXIS2_CALL
00081 axis2_msg_recv_free(
00082 axis2_msg_recv_t * msg_recv,
00083 const axutil_env_t * env);
00084
00098 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00099 axis2_msg_recv_receive(
00100 axis2_msg_recv_t * msg_recv,
00101 const axutil_env_t * env,
00102 struct axis2_msg_ctx *in_msg_ctx,
00103 void *callback_recv_param);
00104
00113 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00114
00115 axis2_msg_recv_invoke_business_logic(
00116 axis2_msg_recv_t * msg_recv,
00117 const axutil_env_t * env,
00118 struct axis2_msg_ctx *in_msg_ctx,
00119 struct axis2_msg_ctx *out_msg_ctx);
00120
00128 AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL
00129
00130 axis2_msg_recv_make_new_svc_obj(
00131 axis2_msg_recv_t * msg_recv,
00132 const axutil_env_t * env,
00133 struct axis2_msg_ctx *msg_ctx);
00134
00142 AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL
00143
00144 axis2_msg_recv_get_impl_obj(
00145 axis2_msg_recv_t * msg_recv,
00146 const axutil_env_t * env,
00147 struct axis2_msg_ctx *msg_ctx);
00148
00156 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00157 axis2_msg_recv_set_scope(
00158 axis2_msg_recv_t * msg_recv,
00159 const axutil_env_t * env,
00160 const axis2_char_t * scope);
00161
00168 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00169 axis2_msg_recv_get_scope(
00170 axis2_msg_recv_t * msg_recv,
00171 const axutil_env_t * env);
00172
00180 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00181 axis2_msg_recv_delete_svc_obj(
00182 axis2_msg_recv_t * msg_recv,
00183 const axutil_env_t * env,
00184 axis2_msg_ctx_t * msg_ctx);
00185
00186 AXIS2_EXPORT axis2_status_t AXIS2_CALL
00187
00188 axis2_msg_recv_set_invoke_business_logic(
00189 axis2_msg_recv_t * msg_recv,
00190 const axutil_env_t * env,
00191 AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC func);
00192
00193 AXIS2_EXPORT axis2_status_t AXIS2_CALL
00194 axis2_msg_recv_set_derived(
00195 axis2_msg_recv_t * msg_recv,
00196 const axutil_env_t * env,
00197 void *derived);
00198
00199 AXIS2_EXPORT void *AXIS2_CALL
00200 axis2_msg_recv_get_derived(
00201 const axis2_msg_recv_t * msg_recv,
00202 const axutil_env_t * env);
00203
00204 AXIS2_EXPORT axis2_status_t AXIS2_CALL
00205 axis2_msg_recv_set_receive(
00206 axis2_msg_recv_t * msg_recv,
00207 const axutil_env_t * env,
00208 AXIS2_MSG_RECV_RECEIVE func);
00209
00217 AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL
00218 axis2_msg_recv_create(
00219 const axutil_env_t * env);
00220
00222 #ifdef __cplusplus
00223 }
00224 #endif
00225
00226 #endif