SObjectizer
5.1
|
Класс для выстраивания Backend-ов в цепочку Подробнее...
Открытые члены | |
chained_backend_t (message_filter_unique_ptr_t &&message_filter=message_filter_unique_ptr_t(new void_message_filter_t)) | |
ACE_Log_Msg_Backend * | release_and_set_backend (ACE_Log_Msg_Backend *) |
Назначить следующий в цепочке backend. Текущий НЕ уничтожается и возвращается | |
ACE_Log_Msg_Backend * | get_backend () |
Получить текущий следующий по цепочке backend. | |
virtual int | open (const ACE_TCHAR *logger_key) |
Перегрузка методов базового класса. Подробнее... | |
virtual int | reset () |
Reset the backend. Подробнее... | |
virtual int | close () |
Close the backend completely. | |
virtual ssize_t | log (ACE_Log_Record &log_record) |
Process a log record. | |
Открытые статические члены | |
static void | install_backend (std::unique_ptr< chained_backend_t > &&new_chained_backend) |
Вставить backend в цепочку. Подробнее... | |
static void | uninstall_backend (chained_backend_t *backend_ptr) |
Удалить backend из цепочки. Подробнее... | |
Защищенные члены | |
virtual ssize_t | inner_log (ACE_Log_Record &log_record) |
Метод обработки сообщения. Подробнее... | |
virtual int | inner_open (const ACE_TCHAR *logger_key) |
virtual int | inner_reset () |
virtual int | inner_close () |
Закрытые члены | |
chained_backend_t (const chained_backend_t &) | |
void | operator= (const chained_backend_t &) |
Закрытые данные | |
ACE_Log_Msg_Backend * | m_next_backend |
Подчиненный backend. | |
const message_filter_unique_ptr_t | m_message_filter |
Фильтр сообщений. | |
Класс для выстраивания Backend-ов в цепочку
|
protectedvirtual |
Метод обработки сообщения.
Если класс наследник заинтересован в получении сообщений, то он должен перегружать данный метод. Реализация по умолчанию ничего не далает. Вызывается из метода log.
Переопределяется в so_sysconf_log_3::hard_error_detector::hard_error_detector_backend_t и so_log_2::backend_timed_base_t.
Используется в log().
|
static |
Вставить backend в цепочку.
Для того чтобы вставить цепочный backend необходимо, чтобы уже был установлен реальный backend, который станет следующим в цепочке и которому будут делегироваться вызовы методов интерфейса ACE_Log_Msg_Backend. Если в данный момент не утановлено никаких backend-ов, то будет брошено исключение chained_backend_exception_t.
new_chained_backend | Новый цепочный backend. |
|
virtual |
Перегрузка методов базового класса.
Методы делегируются подчиненному backend-у.Open the back end object. Perform any actions needed to prepare the object for later logging operations.
Перекрестные ссылки m_next_backend.
|
virtual |
Reset the backend.
If ACE_Log_Msg is reopened during execution, this hook will be called. This method should perform any needed cleanup activity (similar to close()) because this object won't be reopened if the new open call does not specify use of this back end being reset.
Перекрестные ссылки m_next_backend.
|
static |
Удалить backend из цепочки.
Для того чтобы удалить цепочный backend необходимо помнить адрес обьекта, который был установлен. Вся цепочка начиная с головы просматривается на наличе такого backend-а, и если таковой обнаруживается. то он исключается из цепочки. Если такой backend найти не удается бросается исключение chained_backend_exception_t.
backend_ptr | Указатель деинсталлируемого backend-а. |
Перекрестные ссылки get_backend() и release_and_set_backend().
Документация по SObjectizer v.5.1 'Джимара'. Последние изменения: Ср 15 Май 2013 12:56:24. Создано системой 1.8.3.1 |