Класс so_4::rt::impl::msg_data_impl_t

Полный список членов класса


Подробное описание

Класс для хранения и управления экземпляром сообщения.

В системе должны быть только динамически созданные объекты типа msg_data_impl_t!

Открытые члены

 msg_data_impl_t (void *data, msg_wrapper_t *wrapper, const cpp_util_2::string_piece_t &receiver, const comm_channel_t &channel_to, const comm_channel_t &channel_from)
 ~msg_data_impl_t ()
bool check () const
void deliver (delivery_man_t &delivery_man)

Открытые статические члены

static void inc_ref_count (msg_data_impl_t *wrapper)
static void dec_ref_count (msg_data_impl_t *wrapper)

Открытые атрибуты

void * m_data
 Пользовательский объект, связанный с сообщением.
msg_wrapper_t * m_wrapper
 Обертка над типом данного сообщения.
std::string m_receiver
comm_channel_t m_channel_to
 Канал, в который направляется сообщение.
comm_channel_t m_channel_from
 Канал, из которого получено сообщение.

Закрытые данные

ref_count_ops::counter_t m_ref_count


Конструктор(ы)

so_4::rt::impl::msg_data_impl_t::msg_data_impl_t ( void *  data,
msg_wrapper_t *  wrapper,
const cpp_util_2::string_piece_t &  receiver,
const comm_channel_t channel_to,
const comm_channel_t channel_from 
)

Объект создается с нулевым количеством ссылок.

Аргументы:
receiver  Содержит пустую строку если нет конкретного адресата

Перекрестные ссылки m_receiver.

so_4::rt::impl::msg_data_impl_t::~msg_data_impl_t (  ) 

Деструктор удаляет данные сообщения (если m_data != 0).

Перекрестные ссылки m_data и m_wrapper.


Методы

bool so_4::rt::impl::msg_data_impl_t::check (  )  const

Проверить корректность сообщения при помощи функции проверки.

Возвращается 'true' если сообщение считается корректным. Если функция проверки не назначена, то сообщение всегда считается корректным bool.

Перекрестные ссылки m_data и m_wrapper.

Используется в so_4::rt::impl::event_data_single_t::run_action().

void so_4::rt::impl::msg_data_impl_t::deliver ( delivery_man_t delivery_man  ) 

Выполнение доставки экземпляра сообщения получателям.

Перекрестные ссылки m_wrapper.

Используется в so_4::api::deliver_msg_helper::deliver_and_dispatch().

void so_4::rt::impl::msg_data_impl_t::inc_ref_count ( msg_data_impl_t wrapper  )  [static]

Увеличение количества ссылок.

Перекрестные ссылки m_ref_count и m_wrapper.

Используется в so_4::rt::impl::event_data_single_t::event_data_single_t(), so_4::rt::msg_data_t::msg_data_t() и so_4::rt::msg_data_t::operator=().

void so_4::rt::impl::msg_data_impl_t::dec_ref_count ( msg_data_impl_t wrapper  )  [static]

Уменьшение количество ссылок. Если количество ссылок достигло нуля, объект msg_data_wrapper_t автоматически уничтожается.

Перекрестные ссылки m_ref_count и m_wrapper.

Используется в so_4::rt::msg_data_t::operator=() и so_4::rt::impl::event_data_single_t::~event_data_single_t().


Данные класса

Пользовательский объект, связанный с сообщением.

Нулевой указатель, если пользователь не передает в сообщении никаких данных.

Используется в check(), so_4::rt::impl::event_data_single_t::query_msg_data() и ~msg_data_impl_t().

Пустая строка, если сообщение является широковещательным.

Используется в msg_data_impl_t() и so_4::rt::impl::event_data_single_t::query_receiver().

ref_count_ops::counter_t so_4::rt::impl::msg_data_impl_t::m_ref_count [private]

Количество ссылок на данный экземпляр. Когда количество ссылок достигает нуля экземпляр сообщения должен быть уничтожен

Используется в dec_ref_count() и inc_ref_count().


Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:49 2008. Создано системой  doxygen1.5.6 Intervale SourceForge.net Logo