00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef SANDESHA2_UTILS_H
00018 #define SANDESHA2_UTILS_H
00019
00020 #include <axiom_soap_envelope.h>
00021
00027 #include <sandesha2_storage_mgr.h>
00028 #include <sandesha2_seq_property_mgr.h>
00029 #include <axis2_conf_ctx.h>
00030 #include <axis2_conf.h>
00031 #include <axiom_soap_envelope.h>
00032 #include <axutil_qname.h>
00033 #include <axutil_array_list.h>
00034 #include <axis2_op.h>
00035 #include <sandesha2_property_bean.h>
00036 #include <sandesha2_msg_ctx.h>
00037 #include <axis2_policy_include.h>
00038 #include <axis2_svc.h>
00039 #include <axis2_rm_assertion.h>
00040
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045
00050
00051 #define SANDESHA2_ARRAY_LIST_STRING 0
00052 #define SANDESHA2_ARRAY_LIST_LONG 1
00053
00054
00055 AXIS2_EXTERN long AXIS2_CALL
00056 sandesha2_utils_get_current_time_in_millis(
00057 const axutil_env_t *env);
00058
00059 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00060 sandesha2_utils_remove_soap_body_part(
00061 const axutil_env_t *env,
00062 axiom_soap_envelope_t *envelope,
00063 axutil_qname_t *qname);
00064
00065 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00066 sandesha2_utils_get_rm_version(
00067 const axutil_env_t *env,
00068 axis2_char_t *key,
00069 sandesha2_seq_property_mgr_t *seq_prop_mgr);
00070
00071 AXIS2_EXTERN sandesha2_storage_mgr_t* AXIS2_CALL
00072 sandesha2_utils_get_storage_mgr(
00073 const axutil_env_t *env,
00074 axis2_char_t *dbname);
00075
00076 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00077 sandesha2_utils_get_seq_property(
00078 const axutil_env_t *env,
00079 const axis2_char_t *id,
00080 const axis2_char_t *name,
00081 sandesha2_seq_property_mgr_t *seq_prop_mgr);
00082
00083 AXIS2_EXTERN sandesha2_property_bean_t* AXIS2_CALL
00084 sandesha2_utils_get_property_bean(
00085 const axutil_env_t *env,
00086 axis2_svc_t *svc
00087 );
00088
00089 AXIS2_EXTERN sandesha2_property_bean_t* AXIS2_CALL
00090 sandesha2_utils_get_property_bean_from_op(
00091 const axutil_env_t *env,
00092 axis2_op_t *op);
00093
00094 AXIS2_EXTERN axutil_array_list_t* AXIS2_CALL
00095 sandesha2_utils_get_array_list_from_string(
00096 const axutil_env_t *env,
00097 axis2_char_t *string);
00098
00099 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00100 sandesha2_utils_array_list_contains(
00101 const axutil_env_t *env,
00102 axutil_array_list_t *list,
00103 axis2_char_t *string);
00104
00105 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00106 sandesha2_utils_array_list_to_string(
00107 const axutil_env_t *env,
00108 axutil_array_list_t *list,
00109 int type);
00110
00111
00112
00113
00114
00115
00116
00117 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00118 sandesha2_utils_start_sender_for_seq(
00119 const axutil_env_t *env,
00120 axis2_conf_ctx_t *conf_ctx,
00121 axis2_char_t *seq_id,
00122 const axis2_bool_t persistent);
00123
00124 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00125 sandesha2_utils_get_internal_sequence_id(
00126 const axutil_env_t *env,
00127 axis2_char_t *rmd_seq_id);
00128
00129 AXIS2_EXTERN axis2_transport_out_desc_t* AXIS2_CALL
00130 sandesha2_utils_get_transport_out(
00131 const axutil_env_t *env);
00132
00133 AXIS2_EXTERN sandesha2_storage_mgr_t* AXIS2_CALL
00134 sandesha2_utils_get_inmemory_storage_mgr(
00135 const axutil_env_t *env,
00136 axis2_conf_ctx_t *conf_ctx);
00137
00138 AXIS2_EXTERN sandesha2_storage_mgr_t* AXIS2_CALL
00139 sandesha2_utils_get_permanent_storage_mgr(
00140 const axutil_env_t *env,
00141 axis2_char_t *dbname);
00142
00143 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00144 sandesha2_utils_get_rmd_seq_id(
00145 const axutil_env_t *env,
00146 axis2_char_t *internal_sequence_id);
00147
00155 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00156 sandesha2_utils_get_client_internal_sequence_id(
00157 const axutil_env_t *env,
00158 axis2_char_t *to,
00159 axis2_char_t *seq_key);
00160
00161 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00162 sandesha2_utils_create_new_related_msg_ctx(
00163 const axutil_env_t *env,
00164 sandesha2_msg_ctx_t *ref_rm_msg);
00165
00166 AXIS2_EXTERN int AXIS2_CALL
00167 sandesha2_utils_get_soap_version(
00168 const axutil_env_t *env,
00169 axiom_soap_envelope_t *envelope);
00170
00171 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00172 sandesha2_utils_trim_string(
00173 const axutil_env_t *env,
00174 axis2_char_t *orig_string);
00175
00176 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00177 sandesha2_utils_is_retrievable_on_faults(
00178 const axutil_env_t *env,
00179 axis2_msg_ctx_t *msg_ctx);
00180
00181 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00182 sandesha2_utils_is_rm_global_msg(
00183 const axutil_env_t *env,
00184 axis2_msg_ctx_t *msg_ctx);
00185
00186 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00187 sandesha2_utils_get_seq_id_from_rm_msg_ctx(
00188 const axutil_env_t *env,
00189 sandesha2_msg_ctx_t *rm_msg_ctx);
00190
00191 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00192 sandesha2_spec_specific_consts_get_ack_req_soap_action(
00193 const axutil_env_t *env,
00194 axis2_char_t *spec_version);
00195
00204 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00205 sandesha2_utils_get_ack_range_list(
00206 const axutil_env_t *env,
00207 axis2_char_t *msg_no_str,
00208 axis2_char_t *rm_ns_value);
00209
00210 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00211 sandesha2_utils_is_all_msgs_acked_upto(
00212 const axutil_env_t *env,
00213 long highest_in_msg_no,
00214 axis2_char_t *internal_seq_id,
00215 sandesha2_seq_property_mgr_t *seq_prop_mgr);
00216
00217 axis2_status_t AXIS2_CALL
00218 sandesha2_utils_execute_and_store(
00219 const axutil_env_t *env,
00220 sandesha2_msg_ctx_t *rm_msg_ctx,
00221 axis2_char_t *storage_key);
00222
00223 axis2_bool_t AXIS2_CALL
00224 sandesha2_utils_is_wsrm_anon_reply_to(
00225 const axutil_env_t *env,
00226 const axis2_char_t *reply_to);
00227
00228 axis2_bool_t AXIS2_CALL
00229 sandesha2_utils_is_anon_uri(
00230 const axutil_env_t *env,
00231 const axis2_char_t *address);
00232
00233 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00234 sandesha2_utils_stop_invoker(
00235 const axutil_env_t *env,
00236 axis2_conf_ctx_t *conf_ctx);
00237
00238 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00239 sandesha2_utils_stop_sender(
00240 const axutil_env_t *env,
00241 axis2_conf_ctx_t *conf_ctx);
00242
00243 axutil_array_list_t *AXIS2_CALL
00244 sandesha2_utils_split(
00245 const axutil_env_t *env,
00246 axis2_char_t *str,
00247 axis2_char_t *pattern);
00248
00257 axis2_bool_t AXIS2_CALL
00258 sandesha2_utils_is_rm_1_0_anonymous_acks_to(
00259 const axutil_env_t *env,
00260 const axis2_char_t *rm_version,
00261 const axis2_char_t *acks_to_addr);
00262
00263
00264 AXIS2_EXTERN axis2_msg_ctx_t * AXIS2_CALL
00265 sandesha2_utils_create_out_msg_ctx(
00266 const axutil_env_t *env,
00267 axis2_msg_ctx_t *in_msg_ctx);
00268
00269 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00270 sandesha2_util_get_dbname(
00271 const axutil_env_t *env,
00272 axis2_conf_ctx_t *conf_ctx);
00273
00274 axis2_bool_t AXIS2_CALL
00275 sandesha2_util_is_fault_envelope(
00276 const axutil_env_t *env,
00277 axiom_soap_envelope_t *soap_envelope);
00278
00279 axis2_bool_t AXIS2_CALL
00280 sandesha2_util_is_ack_already_piggybacked(
00281 const axutil_env_t *env,
00282 sandesha2_msg_ctx_t *rm_msg_ctx);
00283
00284 axis2_bool_t AXIS2_CALL
00285 sandesha2_util_is_piggybackable_msg_type(
00286 const axutil_env_t *env,
00287 int msg_type);
00288
00289 axutil_property_t *AXIS2_CALL
00290 sandesha2_util_property_clone(
00291 const axutil_env_t * env,
00292 axutil_property_t * property);
00293
00294 axis2_endpoint_ref_t *AXIS2_CALL
00295 sandesha2_util_endpoint_ref_clone(
00296 const axutil_env_t * env,
00297 axis2_endpoint_ref_t * endpoint_ref);
00298
00299 axis2_rm_assertion_t *AXIS2_CALL
00300 sandesha2_util_get_rm_assertion(
00301 const axutil_env_t * env,
00302 axis2_svc_t * svc);
00303
00304 axis2_char_t *AXIS2_CALL
00305 sandesha2_util_get_string_from_node_list(
00306 const axutil_env_t *env,
00307 axutil_array_list_t *node_list);
00308
00309 axutil_array_list_t *AXIS2_CALL
00310 sandesha2_util_get_node_list_from_string(
00311 const axutil_env_t *env,
00312 axis2_char_t *node_list_str);
00313
00314 axis2_bool_t AXIS2_CALL
00315 sandesha2_util_is_rstr_msg(
00316 const axutil_env_t *env,
00317 axis2_msg_ctx_t *msg_ctx);
00318
00319 void AXIS2_CALL
00320 sandesha2_util_clone_property_map(
00321 const axutil_env_t * env,
00322 axis2_msg_ctx_t *ref_msg_ctx,
00323 axis2_msg_ctx_t *new_msg_ctx);
00324
00326 #ifdef __cplusplus
00327 }
00328 #endif
00329
00330 #endif
00331