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 #include <axis2_svc.h>
00053
00054 struct axis2_msg_ctx;
00055
00057 typedef struct axis2_msg_recv axis2_msg_recv_t;
00058
00059 typedef axis2_status_t(
00060 AXIS2_CALL
00061 * AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC) (
00062 axis2_msg_recv_t * msg_recv,
00063 const axutil_env_t * env,
00064 struct axis2_msg_ctx * in_msg_ctx,
00065 struct axis2_msg_ctx * out_msg_ctx);
00066
00067 typedef axis2_status_t(
00068 AXIS2_CALL
00069 * AXIS2_MSG_RECV_RECEIVE) (
00070 axis2_msg_recv_t * msg_recv,
00071 const axutil_env_t * env,
00072 struct axis2_msg_ctx * in_msg_ctx,
00073 void *callback_recv_param);
00074
00075 typedef axis2_status_t(
00076 AXIS2_CALL * AXIS2_MSG_RECV_LOAD_AND_INIT_SVC)(
00077 axis2_msg_recv_t *msg_recv,
00078 const axutil_env_t *env,
00079 struct axis2_svc *svc);
00080
00087 AXIS2_EXTERN void AXIS2_CALL
00088 axis2_msg_recv_free(
00089 axis2_msg_recv_t * msg_recv,
00090 const axutil_env_t * env);
00091
00105 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00106 axis2_msg_recv_receive(
00107 axis2_msg_recv_t * msg_recv,
00108 const axutil_env_t * env,
00109 struct axis2_msg_ctx *in_msg_ctx,
00110 void *callback_recv_param);
00111
00120 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00121
00122 axis2_msg_recv_invoke_business_logic(
00123 axis2_msg_recv_t * msg_recv,
00124 const axutil_env_t * env,
00125 struct axis2_msg_ctx *in_msg_ctx,
00126 struct axis2_msg_ctx *out_msg_ctx);
00127
00135 AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL
00136
00137 axis2_msg_recv_make_new_svc_obj(
00138 axis2_msg_recv_t * msg_recv,
00139 const axutil_env_t * env,
00140 struct axis2_msg_ctx *msg_ctx);
00141
00149 AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL
00150
00151 axis2_msg_recv_get_impl_obj(
00152 axis2_msg_recv_t * msg_recv,
00153 const axutil_env_t * env,
00154 struct axis2_msg_ctx *msg_ctx);
00155
00163 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00164 axis2_msg_recv_set_scope(
00165 axis2_msg_recv_t * msg_recv,
00166 const axutil_env_t * env,
00167 const axis2_char_t * scope);
00168
00175 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00176 axis2_msg_recv_get_scope(
00177 axis2_msg_recv_t * msg_recv,
00178 const axutil_env_t * env);
00179
00187 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00188 axis2_msg_recv_delete_svc_obj(
00189 axis2_msg_recv_t * msg_recv,
00190 const axutil_env_t * env,
00191 axis2_msg_ctx_t * msg_ctx);
00192
00193 AXIS2_EXPORT axis2_status_t AXIS2_CALL
00194
00195 axis2_msg_recv_set_invoke_business_logic(
00196 axis2_msg_recv_t * msg_recv,
00197 const axutil_env_t * env,
00198 AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC func);
00199
00200 AXIS2_EXPORT axis2_status_t AXIS2_CALL
00201 axis2_msg_recv_set_derived(
00202 axis2_msg_recv_t * msg_recv,
00203 const axutil_env_t * env,
00204 void *derived);
00205
00206 AXIS2_EXPORT void *AXIS2_CALL
00207 axis2_msg_recv_get_derived(
00208 const axis2_msg_recv_t * msg_recv,
00209 const axutil_env_t * env);
00210
00211 AXIS2_EXPORT axis2_status_t AXIS2_CALL
00212 axis2_msg_recv_set_receive(
00213 axis2_msg_recv_t * msg_recv,
00214 const axutil_env_t * env,
00215 AXIS2_MSG_RECV_RECEIVE func);
00216
00217 AXIS2_EXPORT axis2_status_t AXIS2_CALL
00218 axis2_msg_recv_set_load_and_init_svc(
00219 axis2_msg_recv_t *msg_recv,
00220 const axutil_env_t *env,
00221 AXIS2_MSG_RECV_LOAD_AND_INIT_SVC func);
00222
00223 AXIS2_EXPORT axis2_status_t AXIS2_CALL
00224 axis2_msg_recv_load_and_init_svc(
00225 axis2_msg_recv_t *msg_recv,
00226 const axutil_env_t *env,
00227 struct axis2_svc *svc);
00228
00236 AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL
00237 axis2_msg_recv_create(
00238 const axutil_env_t * env);
00239
00241 #ifdef __cplusplus
00242 }
00243 #endif
00244
00245 #endif