Класс so_4::rt::dyn_agent_coop_helper_t

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

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

Упрощение регистрации динамических коопераций.

Класс, который пытается регистрировать кооперацию, и если это не удается, удаляет кооперацию в своем деструкторе.

Динамическая кооперация автоматически уничтожается SObjectizer-ом только если она была успешно зарегистрирована. Если же register_coop завершился неудачно, то отвественность за уничтожение динамической кооперации лежит на прикладном программисте. Т.е., при работе с dyn_agent_coop_t необходимо контролировать код возврата register_coop, и если он свидетельствует об ошибке -- уничтожать объект dyn_agent_coop_t.

Все эти действия берет на себя класс dyn_agent_coop_helper_t. Если кооперацию не удалось зарегистрировать, то объект dyn_agent_coop_t будет уничтожен в деструкторе dyn_agent_coop_helper_t.

Пример:

	// Создаем динамическую кооперацию из одного агента.
	dyn_agent_coop_helper_t helper( new dyn_agent_coop_t(
		new some_agent_t( "a_some_agent" ) ) );
	if( !helper.result() )
		// Кооперация успешно зарегистрирована.
		...
	else
		// Кооперация не зарегистрирована.
		// Объекты dyn_agent_coop_t и some_agent_t
		// будут уничтожены в деструкторе helper.
		...
	
Примеры:

sample/dyn_reg/main.cpp, sample/filter/c1.cpp, sample/filter/c2.cpp, sample/parent_insend/main.cpp и sample/subscr_hook/main.cpp.


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

 dyn_agent_coop_helper_t (dyn_agent_coop_t *coop)
 Конструктор осуществляет попытку регистрации агента.
const ret_code_tresult () const
 Результат попытки регистрации.

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

dyn_agent_coop_tm_coop
ret_code_t m_rc


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

so_4::rt::dyn_agent_coop_helper_t::dyn_agent_coop_helper_t dyn_agent_coop_t coop  ) 
 

Конструктор осуществляет попытку регистрации агента.

Аргументы:
coop  Указатель на динамически-созданный объект.


Документация по SObjectizer. Последние изменения: Thu Jan 12 10:52:51 2006. Создано системой  doxygen 1.4.6-NO
Hosted by uCoz