00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIS2_TRANSPORT_RECEIVER_H
00020 #define AXIS2_TRANSPORT_RECEIVER_H
00021
00040 #include <axis2_const.h>
00041 #include <axutil_error.h>
00042 #include <axis2_defines.h>
00043 #include <axutil_env.h>
00044 #include <axutil_allocator.h>
00045 #include <axis2_endpoint_ref.h>
00046 #include <axis2_ctx.h>
00047 #include <axis2_conf_ctx.h>
00048
00049 #ifdef __cplusplus
00050 extern "C"
00051 {
00052 #endif
00053
00054 struct axis2_conf_ctx;
00055 struct axis2_transport_in_desc;
00056
00058 typedef struct axis2_transport_receiver axis2_transport_receiver_t;
00059
00061 typedef struct axis2_transport_receiver_ops
00062 axis2_transport_receiver_ops_t;
00063
00068 struct axis2_transport_receiver_ops
00069 {
00070
00077 axis2_status_t(
00078 AXIS2_CALL
00079 * init)(
00080 axis2_transport_receiver_t * transport_receiver,
00081 const axutil_env_t * env,
00082 struct axis2_conf_ctx * conf_ctx,
00083 struct axis2_transport_in_desc * transport_in);
00084
00089 axis2_status_t(
00090 AXIS2_CALL
00091 * start)(
00092 axis2_transport_receiver_t * transport_receiver,
00093 const axutil_env_t * env);
00094
00100 axis2_endpoint_ref_t *(
00101 AXIS2_CALL
00102 * get_reply_to_epr)(
00103 axis2_transport_receiver_t * transport_receiver,
00104 const axutil_env_t * env,
00105 const axis2_char_t * svc_name);
00106
00111 struct axis2_conf_ctx *(
00112 AXIS2_CALL
00113 * get_conf_ctx)(
00114 axis2_transport_receiver_t * server,
00115 const axutil_env_t * env);
00116
00121 axis2_bool_t(
00122 AXIS2_CALL
00123 * is_running)(
00124 axis2_transport_receiver_t * server,
00125 const axutil_env_t * env);
00126
00131 axis2_status_t(
00132 AXIS2_CALL
00133 * stop)(
00134 axis2_transport_receiver_t * transport_receiver,
00135 const axutil_env_t * env);
00136
00142 void(
00143 AXIS2_CALL
00144 * free)(
00145 axis2_transport_receiver_t * transport_receiver,
00146 const axutil_env_t * env);
00147
00148 };
00149
00153 struct axis2_transport_receiver
00154 {
00155 const axis2_transport_receiver_ops_t *ops;
00156 };
00157
00160 AXIS2_EXTERN void AXIS2_CALL
00161 axis2_transport_receiver_free(
00162 axis2_transport_receiver_t * transport_receiver,
00163 const axutil_env_t * env);
00164
00167 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00168 axis2_transport_receiver_init(
00169 axis2_transport_receiver_t * transport_receiver,
00170 const axutil_env_t * env,
00171 struct axis2_conf_ctx *conf_ctx,
00172 struct axis2_transport_in_desc *transport_in);
00173
00176 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00177 axis2_transport_receiver_start(
00178 axis2_transport_receiver_t * transport_receiver,
00179 const axutil_env_t * env);
00180
00183 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00184 axis2_transport_receiver_stop(
00185 axis2_transport_receiver_t * transport_receiver,
00186 const axutil_env_t * env);
00187
00190 AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00191
00192 axis2_transport_receiver_get_reply_to_epr(
00193 axis2_transport_receiver_t * transport_receiver,
00194 const axutil_env_t * env,
00195 const axis2_char_t * svc_name);
00196
00199 AXIS2_EXTERN struct axis2_conf_ctx *AXIS2_CALL
00200
00201 axis2_transport_receiver_get_conf_ctx(
00202 axis2_transport_receiver_t * transport_receiver,
00203 const axutil_env_t * env);
00204
00207 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00208 axis2_transport_receiver_is_running(
00209 axis2_transport_receiver_t * transport_receiver,
00210 const axutil_env_t * env);
00211
00214 #ifdef __cplusplus
00215 }
00216 #endif
00217 #endif