sandesha2_storage_mgr.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_STORAGE_MGR_H
00018 #define SANDESHA2_STORAGE_MGR_H
00019 
00024 #include <platforms/axutil_platform_auto_sense.h>
00025 #include <axutil_utils_defines.h>
00026 #include <axutil_env.h>
00027 #include <axiom_soap_envelope.h>
00028 #include <axis2_conf_ctx.h>
00029 #include <axis2_module_desc.h>
00030 #include <sandesha2_transaction.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00042 typedef struct sandesha2_storage_mgr sandesha2_storage_mgr_t;
00043 typedef struct sandesha2_storage_mgr_ops sandesha2_storage_mgr_ops_t;
00044 struct sandesha2_rm_bean;
00045 struct sandesha2_sender_mgr;
00046 struct sandesha2_invoker_mgr;
00047 struct sandesha2_seq_property_mgr;
00048 struct sandesha2_next_msg_mgr;
00049 
00054 AXIS2_DECLARE_DATA struct sandesha2_storage_mgr_ops
00055 { 
00056     axis2_status_t (AXIS2_CALL * 
00057             free)(
00058                 sandesha2_storage_mgr_t *storage_mgr,
00059                 const axutil_env_t *envv);
00060 
00061     axis2_status_t (AXIS2_CALL *
00062             free_void_arg)(
00063                 void *storage_mgr,
00064                 const axutil_env_t *env);
00065 
00066     axis2_status_t (AXIS2_CALL *
00067             init)(
00068                 sandesha2_storage_mgr_t *storage_mgr,
00069                 const axutil_env_t *env,
00070                 axis2_conf_ctx_t *conf_ctx);
00071         
00072     axis2_msg_ctx_t *(AXIS2_CALL *
00073             retrieve_msg_ctx)(
00074                 sandesha2_storage_mgr_t *storage_mgr,
00075                 const axutil_env_t *env,
00076                 axis2_char_t *key,
00077                 axis2_conf_ctx_t *conf_ctx,
00078                 const axis2_bool_t persistent);
00079             
00080     axis2_status_t (AXIS2_CALL *
00081             store_msg_ctx)(
00082                 sandesha2_storage_mgr_t *storage_mgr,
00083                 const axutil_env_t *env,
00084                 axis2_char_t *key,
00085                 axis2_msg_ctx_t *msg_ctx,
00086                 axis2_bool_t store_in_memory);
00087                 
00088     axis2_status_t (AXIS2_CALL *
00089             update_msg_ctx)(
00090                 sandesha2_storage_mgr_t *storage_mgr,
00091                 const axutil_env_t *env,
00092                 axis2_char_t *key,
00093                 axis2_msg_ctx_t *msg_ctx);
00094 
00095     axis2_status_t (AXIS2_CALL *
00096             remove_msg_ctx)(
00097                 sandesha2_storage_mgr_t *storage_mgr,
00098                 const axutil_env_t *env,
00099                 axis2_char_t *key,
00100                 axis2_conf_ctx_t *conf_ctx,
00101                 int msg_type);
00102 
00103     axis2_status_t (AXIS2_CALL *
00104             init_storage)(
00105                 sandesha2_storage_mgr_t *storage_mgr,
00106                 const axutil_env_t *env,
00107                 axis2_module_desc_t *module_desc);
00108 
00109     axiom_soap_envelope_t *(AXIS2_CALL *
00110             retrieve_soap_envelope)(
00111                 sandesha2_storage_mgr_t *storage_mgr,
00112                 const axutil_env_t *env,
00113                 axis2_char_t *key);
00114 
00115     axis2_status_t (AXIS2_CALL *
00116             store_soap_envelope)(
00117                 sandesha2_storage_mgr_t *storage_mgr,
00118                 const axutil_env_t *env,
00119                 axiom_soap_envelope_t *soap_env,
00120                 axis2_char_t *key);
00121         
00122     axis2_status_t (AXIS2_CALL *
00123             store_response) (
00124                 sandesha2_storage_mgr_t *storage_mgr,
00125                 const axutil_env_t *env,
00126                 axis2_char_t *seq_id,
00127                 axiom_soap_envelope_t *response,
00128                 int msg_no,
00129                 int soap_version);
00130 
00131     axiom_soap_envelope_t * (AXIS2_CALL *
00132             retrieve_response) (
00133                 sandesha2_storage_mgr_t *storage_mgr, 
00134                 const axutil_env_t *env, 
00135                 axis2_char_t *seq_id,
00136                 int msg_no);
00137 
00138     axis2_status_t (AXIS2_CALL *
00139             remove_response) (
00140                 sandesha2_storage_mgr_t *storage_mgr, 
00141                 const axutil_env_t *env, 
00142                 axis2_char_t *seq_id,
00143                 int msg_no);
00144 };
00145 
00146 AXIS2_DECLARE_DATA struct sandesha2_storage_mgr
00147 {
00148     const sandesha2_storage_mgr_ops_t *ops;
00149 };
00150 
00158 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00159 sandesha2_storage_mgr_free_void_arg(
00160     void *storage_mgr,
00161     const axutil_env_t *env);
00162 
00163 axis2_status_t AXIS2_CALL 
00164 sandesha2_storage_mgr_free(
00165     sandesha2_storage_mgr_t *storage_mgr,
00166     const axutil_env_t *envv);
00167 
00168 axis2_status_t AXIS2_CALL
00169 sandesha2_storage_mgr_init(
00170     sandesha2_storage_mgr_t *storage_mgr,
00171     const axutil_env_t *env,
00172     axis2_conf_ctx_t *conf_ctx);
00173 
00182 axis2_msg_ctx_t *AXIS2_CALL
00183 sandesha2_storage_mgr_retrieve_msg_ctx(
00184     sandesha2_storage_mgr_t *storage_mgr,
00185     const axutil_env_t *env,
00186     axis2_char_t *key,
00187     axis2_conf_ctx_t *conf_ctx,
00188     const axis2_bool_t persistent);
00189 
00200 axis2_status_t AXIS2_CALL
00201 sandesha2_storage_mgr_store_msg_ctx(
00202     sandesha2_storage_mgr_t *storage_mgr,
00203     const axutil_env_t *env,
00204     axis2_char_t *key,
00205     axis2_msg_ctx_t *msg_ctx,
00206     axis2_bool_t store_in_memory);
00207                         
00208 axis2_status_t AXIS2_CALL
00209 sandesha2_storage_mgr_update_msg_ctx(
00210     sandesha2_storage_mgr_t *storage_mgr,
00211     const axutil_env_t *env,
00212     axis2_char_t *key,
00213     axis2_msg_ctx_t *msg_ctx);
00214 
00215 axis2_status_t AXIS2_CALL
00216 sandesha2_storage_mgr_remove_msg_ctx(
00217     sandesha2_storage_mgr_t *storage_mgr,
00218     const axutil_env_t *env,
00219     axis2_char_t *key,
00220     axis2_conf_ctx_t *conf_ctx,
00221     int msg_type);
00222 
00223 axis2_status_t AXIS2_CALL
00224 sandesha2_storage_mgr_init_storage(
00225     sandesha2_storage_mgr_t *storage_mgr,
00226     const axutil_env_t *env,
00227     axis2_module_desc_t *module_desc);
00228 
00229 axiom_soap_envelope_t *AXIS2_CALL
00230 sandesha2_storage_mgr_retrieve_soap_envelope(
00231     sandesha2_storage_mgr_t *storage_mgr,
00232     const axutil_env_t *env,
00233     axis2_char_t *key);
00234 
00235 axis2_status_t AXIS2_CALL
00236 sandesha2_storage_mgr_store_soap_envelope(
00237     sandesha2_storage_mgr_t *storage_mgr,
00238     const axutil_env_t *env,
00239     axiom_soap_envelope_t *soap_env,
00240     axis2_char_t *key);
00241 
00242 axis2_status_t AXIS2_CALL
00243 sandesha2_storage_mgr_store_response(
00244     sandesha2_storage_mgr_t *storage_mgr,
00245     const axutil_env_t *env,
00246     axis2_char_t *seq_id,
00247     axiom_soap_envelope_t *response,
00248     int msg_no,
00249     int soap_version);
00250 
00251 axiom_soap_envelope_t * AXIS2_CALL
00252 sandesha2_storage_mgr_retrieve_response(
00253     sandesha2_storage_mgr_t *storage_mgr, 
00254     const axutil_env_t *env, 
00255     axis2_char_t *seq_id,
00256     int msg_no);
00257 
00258 axis2_status_t AXIS2_CALL
00259 sandesha2_storage_mgr_remove_response(
00260     sandesha2_storage_mgr_t *storage_mgr, 
00261     const axutil_env_t *env, 
00262     axis2_char_t *seq_id,
00263     int msg_no);
00264                        
00266 #ifdef __cplusplus
00267 }
00268 #endif
00269 
00270 #endif /*SANDESHA2_STORAGE_MGR_H*/

Generated on Wed Oct 14 01:02:17 2009 for Sandesha2/C by  doxygen 1.5.7.1