00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef SANDESHA2_PERMANENT_STORAGE_MGR_H
00018 #define SANDESHA2_PERMANENT_STORAGE_MGR_H
00019
00025 #include <axutil_utils_defines.h>
00026 #include <axutil_env.h>
00027 #include <axis2_conf_ctx.h>
00028 #include <sandesha2_storage_mgr.h>
00029
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034
00035 typedef struct sandesha2_response
00036 {
00037 int soap_version;
00038 axis2_char_t *response_str;
00039 } sandesha2_response_t;
00040
00046 axutil_thread_mutex_t *
00047 sandesha2_permanent_storage_mgr_get_mutex(
00048 sandesha2_storage_mgr_t *storage_mgr,
00049 const axutil_env_t *env);
00050
00051 AXIS2_EXTERN sandesha2_storage_mgr_t* AXIS2_CALL
00052 sandesha2_permanent_storage_mgr_create(
00053 const axutil_env_t *env,
00054 axis2_conf_ctx_t *conf_ctx);
00055
00056 void * AXIS2_CALL
00057 sandesha2_permanent_storage_mgr_get_dbconn(
00058 sandesha2_storage_mgr_t *storage_mgr,
00059 const axutil_env_t *env);
00060
00061 axis2_status_t AXIS2_CALL
00062 sandesha2_permanent_storage_mgr_init(
00063 sandesha2_storage_mgr_t *storage_mgr,
00064 const axutil_env_t *env,
00065 axis2_conf_ctx_t *conf_ctx);
00066
00067 axis2_status_t AXIS2_CALL
00068 sandesha2_permanent_storage_mgr_store_msg_ctx(
00069 sandesha2_storage_mgr_t *storage_mgr,
00070 const axutil_env_t *env,
00071 axis2_char_t *key,
00072 axis2_msg_ctx_t *msg_ctx);
00073
00074 axis2_status_t AXIS2_CALL
00075 sandesha2_permanent_storage_mgr_update_msg_ctx(
00076 sandesha2_storage_mgr_t *storage_mgr,
00077 const axutil_env_t *env,
00078 axis2_char_t *key,
00079 axis2_msg_ctx_t *msg_ctx);
00080
00081 void AXIS2_CALL
00082 sandesha2_permanent_storage_mgr_remove_transaction(
00083 sandesha2_storage_mgr_t *storage_mgr,
00084 const axutil_env_t *env,
00085 struct sandesha2_transaction *transaction);
00086
00087 axis2_msg_ctx_t * AXIS2_CALL
00088 sandesha2_permanent_storage_mgr_retrieve_msg_ctx(
00089 sandesha2_storage_mgr_t *storage_mgr,
00090 const axutil_env_t *env,
00091 axis2_char_t *key,
00092 axis2_conf_ctx_t *conf_ctx,
00093 const axis2_bool_t persistent);
00094
00096 #ifdef __cplusplus
00097 }
00098 #endif
00099
00100 #endif