00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_TRANSPORT_RECEIVER_H
00019 #define AXIS2_TRANSPORT_RECEIVER_H
00020
00039 #include <axis2_const.h>
00040 #include <axutil_error.h>
00041 #include <axis2_defines.h>
00042 #include <axutil_env.h>
00043 #include <axutil_allocator.h>
00044 #include <axis2_endpoint_ref.h>
00045 #include <axis2_ctx.h>
00046 #include <axis2_conf_ctx.h>
00047
00048
00049
00050 #ifdef __cplusplus
00051 extern "C"
00052 {
00053 #endif
00054
00055 struct axis2_conf_ctx;
00056 struct axis2_transport_in_desc;
00058 typedef struct axis2_transport_receiver axis2_transport_receiver_t;
00060 typedef struct axis2_transport_receiver_ops axis2_transport_receiver_ops_t;
00061
00066 struct axis2_transport_receiver_ops
00067 {
00074 axis2_status_t (AXIS2_CALL *
00075 init) (
00076 axis2_transport_receiver_t *transport_receiver,
00077 const axutil_env_t *env,
00078 struct axis2_conf_ctx *conf_ctx,
00079 struct axis2_transport_in_desc *transport_in);
00080
00085 axis2_status_t (AXIS2_CALL *
00086 start)(
00087 axis2_transport_receiver_t *transport_receiver,
00088 const axutil_env_t *env);
00089
00095 axis2_endpoint_ref_t* (AXIS2_CALL *
00096 get_reply_to_epr)(
00097 axis2_transport_receiver_t *transport_receiver,
00098 const axutil_env_t *env,
00099 const axis2_char_t *svc_name);
00100
00105 struct axis2_conf_ctx* (AXIS2_CALL *
00106 get_conf_ctx)(
00107 axis2_transport_receiver_t *server,
00108 const axutil_env_t *env);
00109
00110
00115 axis2_bool_t (AXIS2_CALL *
00116 is_running)(
00117 axis2_transport_receiver_t *server,
00118 const axutil_env_t *env);
00123 axis2_status_t (AXIS2_CALL *
00124 stop)(
00125 axis2_transport_receiver_t *transport_receiver,
00126 const axutil_env_t *env);
00127
00133 void (AXIS2_CALL *
00134 free)(
00135 axis2_transport_receiver_t *transport_receiver,
00136 const axutil_env_t *env);
00137
00138 };
00139
00143 struct axis2_transport_receiver
00144 {
00145 const axis2_transport_receiver_ops_t *ops;
00146 };
00147
00148
00151 AXIS2_EXTERN void AXIS2_CALL
00152 axis2_transport_receiver_free(axis2_transport_receiver_t *transport_receiver,
00153 const axutil_env_t *env);
00154
00157 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00158 axis2_transport_receiver_init(axis2_transport_receiver_t *transport_receiver,
00159 const axutil_env_t *env,
00160 struct axis2_conf_ctx *conf_ctx,
00161 struct axis2_transport_in_desc *transport_in);
00162
00165 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00166 axis2_transport_receiver_start(axis2_transport_receiver_t *transport_receiver,
00167 const axutil_env_t *env);
00168
00171 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00172 axis2_transport_receiver_stop(axis2_transport_receiver_t *transport_receiver,
00173 const axutil_env_t *env);
00174
00177 AXIS2_EXTERN axis2_endpoint_ref_t* AXIS2_CALL
00178 axis2_transport_receiver_get_reply_to_epr(axis2_transport_receiver_t *transport_receiver,
00179 const axutil_env_t *env,
00180 const axis2_char_t *svc_name);
00181
00184 AXIS2_EXTERN struct axis2_conf_ctx *AXIS2_CALL
00185 axis2_transport_receiver_get_conf_ctx(axis2_transport_receiver_t *transport_receiver,
00186 const axutil_env_t *env);
00187
00190 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00191 axis2_transport_receiver_is_running(axis2_transport_receiver_t *transport_receiver,
00192 const axutil_env_t *env);
00193
00196 #ifdef __cplusplus
00197 }
00198 #endif
00199 #endif