#include <std_stream_storage.hpp>
Граф наследования:std_stream_storage_t:
Открытые члены | |
std_stream_storage_t (const std::string &physic_name, std::auto_ptr< chain_storage_t > storage, const chain_id_t &meta_info_id, oess_1::io::istream_t &meta_info_stream) | |
Инициализирующий конструктор. | |
Реализация унаследованных методов. | |
virtual void | trans_start () |
Начать транзакцию. | |
virtual void | trans_commit () |
virtual void | trans_rollback () |
virtual void | stream_create (const std::string &name) |
Создать поток. | |
virtual bool | stream_is_exists (const std::string &name) const |
Проверить существование потока по имени. | |
virtual void | stream_destroy (const std::string &name) |
Уничтожить поток. | |
virtual std::set< std::string > | stream_names () const |
Получить имена всех существующих потоков. | |
virtual entity_stream_t & | stream_get (const std::string &name) |
Получить доступ к потоку по имени. | |
virtual entity_stream_t & | stream_get (const oess_1::uint_t &id) |
Получить доступ к потоку по идентификатору. | |
virtual chain_storage_t & | chain_storage () |
Получение доступа к chain_storage_t поверх которого работает данный stream_storage_t. | |
Закрытые типы | |
typedef std::map< oess_1::uint_t, ref_entity_stream_t > | entity_stream_map_t |
Тип карты созданных entity_stream. | |
Закрытые члены | |
void | ensure_all_right () const |
Убедиться в том, что хранилище находится в нормальном состоянии. | |
void | parse_meta_info (oess_1::io::istream_t &meta_info_stream) |
хранилища все необходимые описания. | |
void | create_entity_stream_objects () |
описанных в оглавлении хранилища. | |
void | reload_meta_info_on_rollback () |
отката транзакции. | |
void | save_meta_info () |
Сохранение текущего значения m_dir в хранилище. | |
Реализация public-методов. | |
void | lo_stream_create (const std::string &name) |
void | lo_stream_destroy (const std::string &name) |
entity_stream_t & | lo_stream_get (const oess_1::uint_t &id) |
Закрытые данные | |
const std::string | m_physic_name |
описаний ошибок. | |
std::auto_ptr< chain_storage_t > | m_storage |
Используемое хранилище. | |
chain_id_t | m_meta_info_id |
Идентификатор мета-информации в хранилище. | |
stream_storage_dir_t | m_dir |
Метаинформация хранилища. | |
bool | m_is_ok |
Признак того, что хранилище находится в нормальном состоянии. | |
entity_stream_map_t | m_streams |
Карта созданных entity_stream. |
std_stream_storage_t | ( | const std::string & | physic_name, | |
std::auto_ptr< chain_storage_t > | storage, | |||
const chain_id_t & | meta_info_id, | |||
oess_1::io::istream_t & | meta_info_stream | |||
) |
Инициализирующий конструктор.
physic_name | Физическое имя хранилища. Используется для детализации описаний ошибок. |
storage | Хранилище, которое должно использоваться. Это указатель на динамически созданный объект, ответственность за уничтожение которого лежит на данном экземпляре std_stream_storage_t. |
meta_info_id | Идентификатор мета-информации в хранилище. |
meta_info_stream | Поток, из которого нужно извлечь мета-информацию. |
chain_storage_t & chain_storage | ( | ) | [virtual] |
Получение доступа к chain_storage_t поверх которого работает данный stream_storage_t.
Замещает stream_storage_t.
void ensure_all_right | ( | ) | const [private] |
Убедиться в том, что хранилище находится в нормальном состоянии.
oess_1::physic_ex_t,если | true != m_is_ok. |
void parse_meta_info | ( | oess_1::io::istream_t & | meta_info_stream | ) | [private] |
хранилища все необходимые описания.
Инициирует создание объектов entity_stream_t для всех описанных в хранилище потоков.
meta_info_stream | Входной поток с сериализованным представлением stream_storage_dir_t. |
void stream_create | ( | const std::string & | name | ) | [virtual] |
void stream_destroy | ( | const std::string & | name | ) | [virtual] |
Уничтожить поток.
Если для этого потока ранее был получен объект entity_stream_t, то этот объект будет уничтожен и указатель на него окажется недействительным.
Замещает stream_storage_t.
entity_stream_t & stream_get | ( | const oess_1::uint_t & | id | ) | [virtual] |
Получить доступ к потоку по идентификатору.
oess_1::logic_ex_t,если | потока не существует. |
Замещает stream_storage_t.
entity_stream_t & stream_get | ( | const std::string & | name | ) | [virtual] |
Получить доступ к потоку по имени.
oess_1::logic_ex_t,если | потока не существует. |
Замещает stream_storage_t.
bool stream_is_exists | ( | const std::string & | name | ) | const [virtual] |
Проверить существование потока по имени.
Замещает stream_storage_t.
void trans_commit | ( | ) | [virtual] |
Зафиксировать изменения транзакции в БД.
Замещает stream_storage_t.
void trans_rollback | ( | ) | [virtual] |