#include <slice_image_base.hpp>
Граф наследования:slice_image_base_t:
Открытые типы | |
auto_load = 0x1 | |
загружено в ОП. | |
auto_destroy_index = 0x2 | |
уничтожен в деструкторе. | |
enum | { auto_load = 0x1, auto_destroy_index = 0x2 } |
операции над образом раздела. Подробнее... | |
Открытые члены | |
virtual void | attach (slice_index_base_t &index, unsigned int flags) |
virtual void | detach (slice_index_base_t &index) |
oess_1::db::cln::db_t & | query_db () const |
База, с которой осуществляется работа. | |
const std::string & | slice_name () const |
Раздел, с которым осуществляется работа. | |
Защищенные члены | |
slice_image_base_t (oess_1::db::cln::db_t &db, const std::string &slice_name, unsigned int flags) throw ( std::exception ) | |
void | lo_clear () |
ent_id_t | lo_insert (const oess_1::stdsn::serializable_t &o) throw ( std::exception ) |
void | lo_erase (const oess_1::ent_id_t &id) throw ( std::exception ) |
void | lo_update (const oess_1::ent_id_t &id, const oess_1::stdsn::serializable_t &o) throw ( std::exception ) |
void | lo_refresh_indexes (const oess_1::ent_id_t &id, const oess_1::stdsn::serializable_t &o) |
Закрытые члены | |
Защита от копирования. | |
slice_image_base_t (const slice_image_base_t &o) | |
slice_image_base_t & | operator= (const slice_image_base_t &o) |
Закрытые данные | |
auto_ptr_3::obj_ptr_t< impl::slice_image_base_data_t > | m_data |
Реальные данные образа раздела. |
anonymous enum |
slice_image_base_t | ( | oess_1::db::cln::db_t & | db, | |
const std::string & | slice_name, | |||
unsigned int | flags | |||
) | throw ( std::exception ) [protected] |
Содержимое раздела не загружается даже, если установлен флаг auto_load (из-за того, что в базовом классе нет реализации метода make_real_obj().
Раздел автоматически создается в БД.
flags | Битовые флаги, определяющие, что нужно делать с содержимым раздела. |
void attach | ( | slice_index_base_t & | index, | |
unsigned int | flags | |||
) | [virtual] |
Добавить активный индекс.
Значения объектов раздела в индекс не добавляются. Это задача производных классов.
flags | Битовые флаги, определяющие, что нужно делать с индексом. Если установлен флаг auto_destroy_index, то индекс автоматически уничтожается в деструкторе. |
Переопределяется в slice_image_t.
void detach | ( | slice_index_base_t & | index | ) | [virtual] |
Изъять активный индекс. Изъятый индекс не уничтожается даже если при его добавлении был указан флаг auto_destroy_index.
void lo_clear | ( | ) | [protected] |
Выгружает содержимое раздела.
Все активные индексы так же очищаются, но остаются привязанными к образу раздела.
void lo_erase | ( | const oess_1::ent_id_t & | id | ) | throw ( std::exception ) [protected] |
Изымает объект из раздела и, автоматически, из всех активных индексов.
ent_id_t lo_insert | ( | const oess_1::stdsn::serializable_t & | o | ) | throw ( std::exception ) [protected] |
Добавляет объект в раздел и, автоматически, во все активные индексы.
void lo_refresh_indexes | ( | const oess_1::ent_id_t & | id, | |
const oess_1::stdsn::serializable_t & | o | |||
) | [protected] |
Добавляет объект во все активные индексы при помощи метода slice_index_base_t::on_insert.
void lo_update | ( | const oess_1::ent_id_t & | id, | |
const oess_1::stdsn::serializable_t & | o | |||
) | throw ( std::exception ) [protected] |
Обновляет содержимое объекта в ОП, в разделе и во всех активных индексах.