sandesha2_client.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
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  * gives the out seqID if CS/CSR exchange is done. Otherwise an error
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 /* SANDESHA2_CLIENT_H */

Generated on Mon Oct 1 17:05:56 2007 for Sandesha2/C by  doxygen 1.5.3