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
00032
00033
00034
00035
00043 #if !defined( _OESS_1__DB__CLN__LOCAL_DB_HPP_ )
00044 #define _OESS_1__DB__CLN__LOCAL_DB_HPP_
00045
00046 #include <exception>
00047
00048 #include <oess_1/db/h/declspec.hpp>
00049
00050 #include <auto_ptr_3/h/obj_ptr.hpp>
00051
00052 #include <oess_1/db/site/h/localhost.hpp>
00053
00054 #include <oess_1/db/cln/h/db.hpp>
00055
00056 namespace oess_1 {
00057
00058 namespace db {
00059
00060 namespace cln {
00061
00062
00063
00064
00065
00082 class OESS_1__DB__TYPE local_db_t
00083 {
00084 public :
00087 enum
00088 {
00090 auto_create = 0x1,
00093
00094 no_overwrite = 0x2,
00099 auto_flush_mode = 0x4,
00102 read_only_mode = 0x8
00103 };
00104
00108 local_db_t(
00110 const std::string & phys_db_name,
00113 unsigned int initial_actions =
00114 auto_create | no_overwrite )
00115 throw( std::exception );
00116
00123 local_db_t(
00125 const std::string & physic_name,
00127 const oess_1::db::storage::config_t & config,
00130 unsigned int initial_actions =
00131 auto_create | no_overwrite )
00132 throw( std::exception );
00133
00136 ~local_db_t() throw();
00137
00139 oess_1::db::cln::db_t *
00140 query_db() throw();
00141
00142 private :
00144 auto_ptr_3::obj_ptr_t< oess_1::db::site::localhost_t >
00145 m_localhost;
00147 auto_ptr_3::obj_ptr_t< oess_1::db::cln::db_t >
00148 m_db;
00149
00150 local_db_t( const local_db_t & );
00151 local_db_t &
00152 operator=( const local_db_t & );
00153 };
00154
00155
00156 }
00157
00158 }
00159
00160 }
00161
00162 #endif