Версия v.2.1.0 устраняет этот недостаток, предоставляя класс so_sysconf_2::coop_factory_t. Этот класс предназначен для создания в динамике новых коопераций. Его применение аналогично применению класса so_sysconf_2::coop_handler_t -- нужно создать класс, производный от so_sysconf_2::coop_factory_t, реализовать в нем метод reg() и объявить глобальную переменную этого типа.
Главное отличие so_sysconf_2::coop_factory_t::reg() от so_sysconf_2::coop_handler_t::reg() заключается в:
Так же so_sysconf_2::coop_factory_t::dereg(), в отличии от so_sysconf_2::coop_handler_t::dereg(), не является чистым виртуальным методом и имеет реализацию в базовом классе -- обращение к so_4::api::deregister_coop.
[{make-coop {factory <str-factory-name>} {coop <str-coop-name>} [{cfg-file <str-coop-cfg-file-name>}] }]*
По этой команде у объекта, который выступает в качестве фабрики с именем str-factory-name, вызывается метод so_sysconf_2::coop_factory_t::reg(). В качестве параметров передаются значения str-coop-name и str-coop-cfg-file-name.
Документация по so_sysconf_2 v.2.4.0. Последние изменения: Wed Oct 31 18:55:07 2007. Создано системой 1.5.4 |