UniSet  2.6.0
Открытые типы | Открытые члены | Открытые статические члены | Защищенные члены | Статические защищенные данные | Друзья
Класс uniset::UniSetActivator
Граф наследования:uniset::UniSetActivator:
Inheritance graph
[см. легенду]
Граф связей класса uniset::UniSetActivator:
Collaboration graph
[см. легенду]

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

Открытые типы

typedef sigc::signal< void, int > TerminateEvent_Signal

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

void Destroy ()
std::shared_ptr< UniSetActivatorget_aptr ()
virtual void run (bool thread)
virtual void stop ()
virtual void uaDestroy (int signo=0)
virtual uniset::ObjectType getType () override
TerminateEvent_Signal signal_terminate_event ()
bool noUseGdbForStackTrace () const
const std::string getAbortScript ()
virtual Poco::JSON::Object::Ptr httpGetByName (const std::string &name, const Poco::URI::QueryParameters &p) override
virtual Poco::JSON::Array::Ptr httpGetObjectsList (const Poco::URI::QueryParameters &p) override
virtual Poco::JSON::Object::Ptr httpHelpByName (const std::string &name, const Poco::URI::QueryParameters &p) override
virtual Poco::JSON::Object::Ptr httpRequestByName (const std::string &name, const std::string &req, const Poco::URI::QueryParameters &p) override

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

static UniSetActivatorPtr Instance ()

Защищенные члены

virtual void work ()
CORBA::ORB_ptr getORB ()
virtual void sysCommand (const uniset::SystemMessage *sm) override

Статические защищенные данные

static std::shared_ptr
< UniSetActivator
inst

Друзья

void uniset::terminate_thread ()
void uniset::finished_thread ()
std::shared_ptr
< uniset::Configuration
uniset::uniset_init (int argc, const char *const *argv, const std::string &xmlfile)

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

Создает POA менеджер и регистрирует в нем объекты. Для обработки CORBA-запросов создается поток или передаются ресурсы главного потока см. void activate(bool thread)

Предупреждения:
Авктиватор может быть создан только один. Для его создания используйте код:
     ...
     auto act = UniSetActivator::Instance()
     ...
Активатор в свою очередь сам является менеджером(и объектом) и обладает всеми его свойствами

--uniset-no-use-gdb-for-stacktrace - НЕ ИСПОЛЬЗОВАТЬ gdb для stacktrace --uniset-abort-script - скрипт запускаемый при вылете, в качестве аргумента передаётся имя программы и pid


Методы

Poco::JSON::Array::Ptr UniSetActivator::httpGetObjectsList ( const Poco::URI::QueryParameters &  p) [override, virtual]
void UniSetActivator::run ( bool  thread) [virtual]

Если thread=true то функция создает отдельный поток для обработки приходящих сообщений. И передает все ресурсы этого потока orb. А также регистрирует процесс в репозитории.

Заметки:
Только после этого объект становится доступен другим процессам А далее выходит... Иначе все ресурсы основного потока передаются для обработки приходящих сообщений (и она не выходит)
void UniSetActivator::stop ( ) [virtual]

Функция останавливает работу orb и завершает поток. А так же удаляет ссылку из репозитория.

Заметки:
Объект становится недоступен другим процессам
void UniSetActivator::work ( ) [protected, virtual]

функция потока

Переопределяет метод предка uniset::UniSetObject.