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
00053 #define AXIS2_SUCCESS 1
00054
00055 #define AXIS2_FAILURE 0
00056
00057 struct axis2_msg_ctx;
00059 typedef struct axis2_msg_recv axis2_msg_recv_t;
00060
00067 AXIS2_EXTERN void AXIS2_CALL
00068 axis2_msg_recv_free(axis2_msg_recv_t *msg_recv,
00069 const axutil_env_t *env);
00070
00084 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00085 axis2_msg_recv_receive(axis2_msg_recv_t *msg_recv,
00086 const axutil_env_t *env,
00087 struct axis2_msg_ctx *in_msg_ctx,
00088 void *callback_recv_param);
00089
00098 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00099 axis2_msg_recv_invoke_business_logic(axis2_msg_recv_t *msg_recv,
00100 const axutil_env_t *env,
00101 struct axis2_msg_ctx *in_msg_ctx,
00102 struct axis2_msg_ctx *out_msg_ctx);
00103
00111 AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL
00112 axis2_msg_recv_make_new_svc_obj(axis2_msg_recv_t *msg_recv,
00113 const axutil_env_t *env,
00114 struct axis2_msg_ctx *msg_ctx);
00115
00123 AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL
00124 axis2_msg_recv_get_impl_obj(axis2_msg_recv_t *msg_recv,
00125 const axutil_env_t *env,
00126 struct axis2_msg_ctx *msg_ctx);
00127
00135 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00136 axis2_msg_recv_set_scope(axis2_msg_recv_t *msg_recv,
00137 const axutil_env_t *env,
00138 const axis2_char_t *scope);
00139
00140
00147 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00148 axis2_msg_recv_get_scope(axis2_msg_recv_t *msg_recv,
00149 const axutil_env_t *env);
00150
00158 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00159 axis2_msg_recv_delete_svc_obj(axis2_msg_recv_t *msg_recv,
00160 const axutil_env_t *env,
00161 axis2_msg_ctx_t *msg_ctx);
00162
00163 AXIS2_EXPORT axis2_status_t AXIS2_CALL
00164 axis2_msg_recv_set_invoke_business_logic(axis2_msg_recv_t *msg_recv,
00165 const axutil_env_t *env,
00166 void *func);
00167
00168 AXIS2_EXPORT axis2_status_t AXIS2_CALL
00169 axis2_msg_recv_set_derived(axis2_msg_recv_t *msg_recv,
00170 const axutil_env_t *env,
00171 void *derived);
00172
00173 AXIS2_EXPORT void *AXIS2_CALL
00174 axis2_msg_recv_get_derived(const axis2_msg_recv_t *msg_recv,
00175 const axutil_env_t *env);
00176
00177 AXIS2_EXPORT axis2_status_t AXIS2_CALL
00178 axis2_msg_recv_set_receive(axis2_msg_recv_t *msg_recv,
00179 const axutil_env_t *env,
00180 void *func);
00181
00189 AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL
00190 axis2_msg_recv_create (const axutil_env_t *env);
00191
00192
00194 #ifdef __cplusplus
00195 }
00196 #endif
00197
00198 #endif