00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef SANDESHA2_CLIENT_H
00018 #define SANDESHA2_CLIENT_H
00019
00025 #include <axutil_allocator.h>
00026 #include <axutil_env.h>
00027 #include <axutil_error.h>
00028 #include <axutil_string.h>
00029 #include <axutil_utils.h>
00030 #include <axutil_hash.h>
00031 #include <axutil_uri.h>
00032 #include <axutil_array_list.h>
00033 #include <axis2_svc_client.h>
00034 #include <axis2_callback.h>
00035 #include <axis2_listener_manager.h>
00036
00037 #include <sandesha2_seq_report.h>
00038 #include <sandesha2_report.h>
00039
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044
00049 AXIS2_EXTERN sandesha2_seq_report_t *AXIS2_CALL
00050 sandesha2_client_get_outgoing_seq_report_with_svc_client(
00051 const axutil_env_t *env,
00052 axis2_svc_client_t *svc_client);
00053
00054 AXIS2_EXTERN sandesha2_seq_report_t *AXIS2_CALL
00055 sandesha2_client_get_outgoing_seq_report_with_seq_key(
00056 const axutil_env_t *env,
00057 axis2_char_t *to,
00058 axis2_char_t *seq_key,
00059 axis2_conf_ctx_t *conf_ctx);
00060
00061 AXIS2_EXTERN sandesha2_seq_report_t *AXIS2_CALL
00062 sandesha2_client_get_outgoing_seq_report_with_internal_seq_id(
00063 const axutil_env_t *env,
00064 axis2_char_t *internal_seq_id,
00065 axis2_conf_ctx_t *conf_ctx);
00066
00075 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00076 sandesha2_client_get_incoming_seq_reports(
00077 axutil_env_t *env,
00078 axis2_conf_ctx_t *conf_ctx);
00079
00088 AXIS2_EXTERN sandesha2_report_t *AXIS2_CALL
00089 sandesha2_client_get_report(
00090 const axutil_env_t *env,
00091 axis2_conf_ctx_t *conf_ctx);
00092
00093 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00094 sandesha2_client_create_seq_with_svc_client(
00095 const axutil_env_t *env,
00096 axis2_svc_client_t *svc_client,
00097 axis2_bool_t offer);
00098
00099 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00100 sandesha2_client_create_seq_with_svc_client_and_seq_key(
00101 const axutil_env_t *env,
00102 axis2_svc_client_t *svc_client,
00103 axis2_bool_t offer,
00104 axis2_char_t *seq_key);
00105
00111 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00112 sandesha2_client_terminate_seq_with_svc_client(
00113 const axutil_env_t *env,
00114 axis2_svc_client_t *svc_client,
00115 axis2_callback_t *callback,
00116 axis2_listener_manager_t *listener_manager);
00117
00118 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00119 sandesha2_client_terminate_seq_with_svc_client_and_seq_key(
00120 const axutil_env_t *env,
00121 axis2_svc_client_t *svc_client,
00122 axis2_char_t *seq_key);
00123
00129 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00130 sandesha2_client_close_seq_with_svc_client(
00131 const axutil_env_t *env,
00132 axis2_svc_client_t *svc_client);
00133
00134 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00135 sandesha2_client_close_seq_with_svc_client_and_seq_key(
00136 const axutil_env_t *env,
00137 axis2_svc_client_t *svc_client,
00138 axis2_char_t *seq_key);
00139
00145 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00146 sandesha2_client_wait_until_seq_completed_with_svc_client(
00147 const axutil_env_t *env,
00148 axis2_svc_client_t *svc_client);
00149
00150 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00151 sandesha2_client_wait_until_seq_completed_with_svc_client_and_seq_key(
00152 const axutil_env_t *env,
00153 axis2_svc_client_t *svc_client,
00154 axis2_char_t *seq_key);
00155
00163 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00164 sandesha2_client_wait_until_seq_completed_with_svc_client_and_max_waiting_time(
00165 const axutil_env_t *env,
00166 axis2_svc_client_t *svc_client,
00167 long max_waiting_time);
00168
00169 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00170 sandesha2_client_wait_until_seq_completed_with_svc_client_and_max_waiting_time_and_seq_key(
00171 const axutil_env_t *env,
00172 axis2_svc_client_t *svc_client,
00173 long max_waiting_time,
00174 axis2_char_t *seq_key);
00175
00176
00177
00178
00179 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00180 sandesha2_client_get_seq_id(
00181 const axutil_env_t *env,
00182 axis2_svc_client_t *svc_client);
00183
00184 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00185 sandesha2_client_send_ack_request_with_svc_client(
00186 const axutil_env_t *env,
00187 axis2_svc_client_t *svc_client);
00188
00189 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00190 sandesha2_client_send_ack_request_with_svc_client_and_seq_key(
00191 const axutil_env_t *env,
00192 axis2_svc_client_t *svc_client,
00193 axis2_char_t *seq_key);
00194
00195 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00196 sandesha2_client_send_non_blocking(
00197 const axutil_env_t *env,
00198 axis2_svc_client_t *svc_client,
00199 axis2_options_t *options,
00200 axutil_qname_t *op_qname,
00201 axis2_callback_t *callback,
00202 axiom_node_t *payload,
00203 axis2_listener_manager_t *listener_manager);
00204
00205 AXIS2_EXTERN void AXIS2_CALL
00206 sandesha2_client_fire_and_forget(
00207 const axutil_env_t *env,
00208 axis2_svc_client_t *svc_client,
00209 axis2_options_t *options,
00210 axutil_qname_t *op_qname,
00211 axis2_callback_t *callback,
00212 axiom_node_t *payload,
00213 axis2_listener_manager_t *listener_manager);
00214
00224 axiom_node_t *AXIS2_CALL
00225 sandesha2_client_get_response_envelope(
00226 const axutil_env_t *env,
00227 axis2_conf_ctx_t *conf_ctx,
00228 axis2_svc_client_t *svc_client,
00229 int msg_no);
00230
00231 #ifdef __cplusplus
00232 }
00233 #endif
00234 #endif