00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00036 #if !defined( _OESS_1__DB__STORAGE__STREAM_STORAGE_HPP_ )
00037 #define _OESS_1__DB__STORAGE__STREAM_STORAGE_HPP_
00038
00039 #include <set>
00040
00041 #include <cpp_util_2/h/nocopy.hpp>
00042
00043 #include <oess_1/db/h/declspec.hpp>
00044
00045 #include <oess_1/db/storage/h/chain_storage.hpp>
00046 #include <oess_1/db/storage/h/entity_stream.hpp>
00047
00048 namespace oess_1 {
00049
00050 namespace db {
00051
00052 namespace storage {
00053
00054
00055
00056
00057
00061 class OESS_1__DB__TYPE stream_storage_t
00062 : private cpp_util_2::nocopy_t
00063 {
00064 public :
00065 virtual ~stream_storage_t();
00066
00070 virtual void
00071 trans_start() = 0;
00072
00076 virtual void
00077 trans_commit() = 0;
00078
00084 virtual void
00085 trans_rollback() = 0;
00087
00090
00092
00095 virtual void
00096 stream_create(
00098 const std::string & name ) = 0;
00099
00101
00104 virtual bool
00105 stream_is_exists(
00107 const std::string & name ) const = 0;
00108
00110
00115 virtual void
00116 stream_destroy(
00117 const std::string & name ) = 0;
00118
00120 virtual std::set< std::string >
00121 stream_names() const = 0;
00122
00124
00134 virtual entity_stream_t &
00135 stream_get(
00137 const std::string & name ) = 0;
00138
00140
00150 virtual entity_stream_t &
00151 stream_get(
00153 const oess_1::uint_t & id ) = 0;
00155
00158
00166 virtual chain_storage_t &
00167 chain_storage() = 0;
00169 };
00170
00171
00172
00173
00174
00189 OESS_1__DB__FUNC(stream_storage_t *)
00190 create_stream_storage(
00192 const std::string & physic_name,
00194 const config_t & config );
00195
00196
00197
00198
00199
00214 OESS_1__DB__FUNC(stream_storage_t *)
00215 open_stream_storage(
00217 const std::string & physic_name,
00219 const config_t & config,
00221 bool is_read_only,
00223 bool is_auto_repair_enabled );
00224
00225
00226
00227
00228
00237 OESS_1__DB__FUNC(bool)
00238 is_stream_storage_exists(
00240 const std::string & physic_name );
00241
00242
00243
00244
00245
00253 OESS_1__DB__FUNC(void)
00254 destroy_stream_storage(
00256 const std::string & physic_name );
00257
00258 }
00259
00260 }
00261
00262 }
00263
00264 #endif