Классы | |
| class | dyn_coop_t |
| Динамическая кооперация, в которую могут входить производные от QObject агенты. Подробнее... | |
Пространства имен | |
| namespace | impl |
| Детали реализации диспетчера для Qt. | |
Функции | |
| so_4::rt::dispatcher_t * | create_disp (so_4::rt::dispatcher_t *subordinate_disp, unsigned short qt_event_delta=17680) |
| Создание диспетчера. | |
| so_4::rt::agent_traits_t & | query_gui_thread_traits () |
| Получить свойство, указывающее, что агент должен работать на нити Qt GUI. | |
| so_4::rt::dispatcher_t * so_4::disp::qt_ui::create_disp | ( | so_4::rt::dispatcher_t * | subordinate_disp, | |
| unsigned short | qt_event_delta = 17680 | |||
| ) |
Создание диспетчера.
// Основным является диспетчер для Qt, // подчиненным -- диспетчер с активными группами, для которого // подчиненным является диспетчер с активными объектами. std::auto_ptr< so_4::rt::dispatcher > disp( so_4::disp::qt_ui::create_disp( so_4::disp::active_group::create_disp( so_4::disp::active_obj::create_disp( // Таймер будет уничтожен диспетчером. so_4::timer_thread::simple::create_timer_thread(), so_4::auto_destroy_timer ) ) ) );
Подчиненый диспетчер должен быть динамически созданным объектом, который будет уничтожен в деструкторе диспетчера для Qt.
| subordinate_disp | Подчиненный диспетчер. |
| qt_event_delta | Значение для формирования идентификатора для объектов типа QEvent. |
| so_4::rt::agent_traits_t & so_4::disp::qt_ui::query_gui_thread_traits | ( | ) |
Получить свойство, указывающее, что агент должен работать на нити Qt GUI.
Пример применения:
class my_agent_t : public QWidget, public so_4::rt::agent_t { typedef so_4::rt::agent_t so_base_type_t; Q_OBJECT public : my_agent_t( const std::string & agent_name ) : QWidget(), // какие-то параметры для QWidget... so_base_type_t( agent_name ) { so_add_traits( so_4::disp::qt_ui::query_gui_thread_traits() ); } ... };
Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:48 2008. Создано системой
1.5.6
|
|