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                 
00087     axis2_status_t (AXIS2_CALL *
00088             update_msg_ctx)(
00089                 sandesha2_storage_mgr_t *storage_mgr,
00090                 const axutil_env_t *env,
00091                 axis2_char_t *key,
00092                 axis2_msg_ctx_t *msg_ctx);
00093 
00094     axis2_status_t (AXIS2_CALL *
00095             remove_msg_ctx)(
00096                 sandesha2_storage_mgr_t *storage_mgr,
00097                 const axutil_env_t *env,
00098                 axis2_char_t *key,
00099                 axis2_conf_ctx_t *conf_ctx,
00100                 int msg_type);
00101 
00102     axis2_status_t (AXIS2_CALL *
00103             init_storage)(
00104                 sandesha2_storage_mgr_t *storage_mgr,
00105                 const axutil_env_t *env,
00106                 axis2_module_desc_t *module_desc);
00107 
00108     axiom_soap_envelope_t *(AXIS2_CALL *
00109             retrieve_soap_envelope)(
00110                 sandesha2_storage_mgr_t *storage_mgr,
00111                 const axutil_env_t *env,
00112                 axis2_char_t *key);
00113 
00114     axis2_status_t (AXIS2_CALL *
00115             store_soap_envelope)(
00116                 sandesha2_storage_mgr_t *storage_mgr,
00117                 const axutil_env_t *env,
00118                 axiom_soap_envelope_t *soap_env,
00119                 axis2_char_t *key);
00120         
00121     axis2_status_t (AXIS2_CALL *
00122             store_response) (
00123                 sandesha2_storage_mgr_t *storage_mgr,
00124                 const axutil_env_t *env,
00125                 axis2_char_t *seq_id,
00126                 axiom_soap_envelope_t *response,
00127                 int msg_no,
00128                 int soap_version);
00129 
00130     axiom_soap_envelope_t * (AXIS2_CALL *
00131             retrieve_response) (
00132                 sandesha2_storage_mgr_t *storage_mgr, 
00133                 const axutil_env_t *env, 
00134                 axis2_char_t *seq_id,
00135                 int msg_no);
00136 
00137     axis2_status_t (AXIS2_CALL *
00138             remove_response) (
00139                 sandesha2_storage_mgr_t *storage_mgr, 
00140                 const axutil_env_t *env, 
00141                 axis2_char_t *seq_id,
00142                 int msg_no);
00143 
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                         
00207 axis2_status_t AXIS2_CALL
00208 sandesha2_storage_mgr_update_msg_ctx(
00209     sandesha2_storage_mgr_t *storage_mgr,
00210     const axutil_env_t *env,
00211     axis2_char_t *key,
00212     axis2_msg_ctx_t *msg_ctx);
00213 
00214 axis2_status_t AXIS2_CALL
00215 sandesha2_storage_mgr_remove_msg_ctx(
00216     sandesha2_storage_mgr_t *storage_mgr,
00217     const axutil_env_t *env,
00218     axis2_char_t *key,
00219     axis2_conf_ctx_t *conf_ctx,
00220     int msg_type);
00221 
00222 axis2_status_t AXIS2_CALL
00223 sandesha2_storage_mgr_init_storage(
00224     sandesha2_storage_mgr_t *storage_mgr,
00225     const axutil_env_t *env,
00226     axis2_module_desc_t *module_desc);
00227 
00228 axiom_soap_envelope_t *AXIS2_CALL
00229 sandesha2_storage_mgr_retrieve_soap_envelope(
00230     sandesha2_storage_mgr_t *storage_mgr,
00231     const axutil_env_t *env,
00232     axis2_char_t *key);
00233 
00234 axis2_status_t AXIS2_CALL
00235 sandesha2_storage_mgr_store_soap_envelope(
00236     sandesha2_storage_mgr_t *storage_mgr,
00237     const axutil_env_t *env,
00238     axiom_soap_envelope_t *soap_env,
00239     axis2_char_t *key);
00240 
00241 axis2_status_t AXIS2_CALL
00242 sandesha2_storage_mgr_store_response(
00243     sandesha2_storage_mgr_t *storage_mgr,
00244     const axutil_env_t *env,
00245     axis2_char_t *seq_id,
00246     axiom_soap_envelope_t *response,
00247     int msg_no,
00248     int soap_version);
00249 
00250 axiom_soap_envelope_t * AXIS2_CALL
00251 sandesha2_storage_mgr_retrieve_response(
00252     sandesha2_storage_mgr_t *storage_mgr, 
00253     const axutil_env_t *env, 
00254     axis2_char_t *seq_id,
00255     int msg_no);
00256 
00257 axis2_status_t AXIS2_CALL
00258 sandesha2_storage_mgr_remove_response(
00259     sandesha2_storage_mgr_t *storage_mgr, 
00260     const axutil_env_t *env, 
00261     axis2_char_t *seq_id,
00262     int msg_no);
00263                        
00265 #ifdef __cplusplus
00266 }
00267 #endif
00268 
00269 #endif /*SANDESHA2_STORAGE_MGR_H*/

Generated on Thu May 22 15:02:58 2008 for Sandesha2/C by  doxygen 1.5.5