00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_MSG_RECV_H
00019 #define AXIS2_MSG_RECV_H
00020
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044
00045 #include <axis2_defines.h>
00046 #include <axis2_const.h>
00047 #include <axis2_svc_skeleton.h>
00048 #include <axis2_msg_ctx.h>
00049 #include <axis2_op_ctx.h>
00050 #include <axis2_svr_callback.h>
00051
00052 struct axis2_msg_ctx;
00054 typedef struct axis2_msg_recv axis2_msg_recv_t;
00055
00062 AXIS2_EXTERN void AXIS2_CALL
00063 axis2_msg_recv_free(axis2_msg_recv_t *msg_recv,
00064 const axutil_env_t *env);
00065
00079 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00080 axis2_msg_recv_receive(axis2_msg_recv_t *msg_recv,
00081 const axutil_env_t *env,
00082 struct axis2_msg_ctx *in_msg_ctx,
00083 void *callback_recv_param);
00084
00093 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00094 axis2_msg_recv_invoke_business_logic(axis2_msg_recv_t *msg_recv,
00095 const axutil_env_t *env,
00096 struct axis2_msg_ctx *in_msg_ctx,
00097 struct axis2_msg_ctx *out_msg_ctx);
00098
00106 AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL
00107 axis2_msg_recv_make_new_svc_obj(axis2_msg_recv_t *msg_recv,
00108 const axutil_env_t *env,
00109 struct axis2_msg_ctx *msg_ctx);
00110
00118 AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL
00119 axis2_msg_recv_get_impl_obj(axis2_msg_recv_t *msg_recv,
00120 const axutil_env_t *env,
00121 struct axis2_msg_ctx *msg_ctx);
00122
00130 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00131 axis2_msg_recv_set_scope(axis2_msg_recv_t *msg_recv,
00132 const axutil_env_t *env,
00133 const axis2_char_t *scope);
00134
00135
00142 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00143 axis2_msg_recv_get_scope(axis2_msg_recv_t *msg_recv,
00144 const axutil_env_t *env);
00145
00153 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00154 axis2_msg_recv_delete_svc_obj(axis2_msg_recv_t *msg_recv,
00155 const axutil_env_t *env,
00156 axis2_msg_ctx_t *msg_ctx);
00157
00158 AXIS2_EXPORT axis2_status_t AXIS2_CALL
00159 axis2_msg_recv_set_invoke_business_logic(axis2_msg_recv_t *msg_recv,
00160 const axutil_env_t *env,
00161 void *func);
00162
00163 AXIS2_EXPORT axis2_status_t AXIS2_CALL
00164 axis2_msg_recv_set_derived(axis2_msg_recv_t *msg_recv,
00165 const axutil_env_t *env,
00166 void *derived);
00167
00168 AXIS2_EXPORT void *AXIS2_CALL
00169 axis2_msg_recv_get_derived(const axis2_msg_recv_t *msg_recv,
00170 const axutil_env_t *env);
00171
00172 AXIS2_EXPORT axis2_status_t AXIS2_CALL
00173 axis2_msg_recv_set_receive(axis2_msg_recv_t *msg_recv,
00174 const axutil_env_t *env,
00175 void *func);
00176
00184 AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL
00185 axis2_msg_recv_create (const axutil_env_t *env);
00186
00187
00189 #ifdef __cplusplus
00190 }
00191 #endif
00192
00193 #endif