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
 
- Открытые члены унаследованные от uniset::UniSetManager
 UniSetManager (uniset::ObjectId id)
 
 UniSetManager (const std::string &name, const std::string &section)
 
std::shared_ptr< UniSetManagerget_mptr ()
 
virtual void broadcast (const uniset::TransportMessage &msg) override
 
virtual uniset::SimpleInfoSeq * getObjectsInfo (CORBA::Long MaxLength=300, const char *userparam=0) override
 
virtual bool add (const std::shared_ptr< UniSetObject > &obj)
 
virtual bool remove (const std::shared_ptr< UniSetObject > &obj)
 
const std::shared_ptr
< UniSetManager
itemM (const uniset::ObjectId id)
 
const std::shared_ptr
< UniSetObject
itemO (const uniset::ObjectId id)
 
UniSetManagerList::const_iterator beginMList ()
 
UniSetManagerList::const_iterator endMList ()
 
ObjectsList::const_iterator beginOList ()
 
ObjectsList::const_iterator endOList ()
 
size_t objectsCount () const
 
PortableServer::POA_ptr getPOA ()
 
PortableServer::POAManager_ptr getPOAManager ()
 
- Открытые члены унаследованные от uniset::UniSetObject
 UniSetObject (const std::string &name, const std::string &section)
 
 UniSetObject (uniset::ObjectId id)
 
std::shared_ptr< UniSetObjectget_ptr ()
 
virtual CORBA::Boolean exist () override
 
virtual uniset::ObjectId getId () override
 
const uniset::ObjectId getId () const
 
std::string getName () const
 
const std::string getStrType ()
 
virtual uniset::SimpleInfogetInfo (const char *userparam="") override
 
virtual uniset::SimpleInfoapiRequest (const char *query) override
 
virtual void push (const uniset::TransportMessage &msg) override
 поместить сообщение в очередь Подробнее...
 
virtual Poco::JSON::Object::Ptr httpGet (const Poco::URI::QueryParameters &p) override
 
virtual Poco::JSON::Object::Ptr httpHelp (const Poco::URI::QueryParameters &p) override
 
uniset::ObjectPtr getRef () const
 
virtual timeout_t askTimer (uniset::TimerId timerid, timeout_t timeMS, clock_t ticks=-1, uniset::Message::Priority p=uniset::Message::High) override
 
- Открытые члены унаследованные от uniset::LT_Object
timeout_t checkTimers (UniSetObject *obj)
 
timeout_t getTimeInterval (uniset::TimerId timerid)
 
timeout_t getTimeLeft (uniset::TimerId timerid)
 
- Открытые члены унаследованные от uniset::UHttp::IHttpRequest
virtual Poco::JSON::Object::Ptr httpRequest (const std::string &req, const Poco::URI::QueryParameters &p)
 

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

static UniSetActivatorPtr Instance ()
 

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

virtual void work ()
 
CORBA::ORB_ptr getORB ()
 
virtual void sysCommand (const uniset::SystemMessage *sm) override
 
- Защищенные члены унаследованные от uniset::UniSetManager
virtual bool addManager (const std::shared_ptr< UniSetManager > &mngr)
 
virtual bool removeManager (const std::shared_ptr< UniSetManager > &mngr)
 
virtual bool addObject (const std::shared_ptr< UniSetObject > &obj)
 
virtual bool removeObject (const std::shared_ptr< UniSetObject > &obj)
 
void objects (OManagerCommand cmd)
 
void managers (OManagerCommand cmd)
 
virtual void sigterm (int signo) override
 
void initPOA (const std::weak_ptr< UniSetManager > &rmngr)
 
virtual bool activateObject () override
 
virtual bool deactivateObject () override
 
const std::shared_ptr
< UniSetObject
findObject (const std::string &name)
 
const std::shared_ptr
< UniSetManager
findManager (const std::string &name)
 
const std::shared_ptr
< UniSetObject
deepFindObject (const std::string &name)
 
void getAllObjectsList (std::vector< std::shared_ptr< UniSetObject >> &vec, size_t lim=1000)
 
int getObjectsInfo (const std::shared_ptr< UniSetManager > &mngr, uniset::SimpleInfoSeq *seq, int begin, const long uplimit, const char *userparam)
 
- Защищенные члены унаследованные от uniset::UniSetObject
virtual void processingMessage (const uniset::VoidMessage *msg)
 
virtual void sensorInfo (const uniset::SensorMessage *sm)
 
virtual void timerInfo (const uniset::TimerMessage *tm)
 
VoidMessagePtr receiveMessage ()
 
virtual VoidMessagePtr waitMessage (timeout_t msec=UniSetTimer::WaitUpTime)
 
void termWaiting ()
 
size_t countMessages ()
 
size_t getCountOfLostMessages () const
 
void terminate ()
 
void thread (bool create)
 
void offThread ()
 
void onThread ()
 
virtual void callback ()
 
void setID (uniset::ObjectId id)
 
void setThreadPriority (Poco::Thread::Priority p)
 
void setMaxSizeOfMessageQueue (size_t s)
 
size_t getMaxSizeOfMessageQueue () const
 
bool isActive () const
 
void setActive (bool set)
 
virtual Poco::JSON::Object::Ptr httpGetMyInfo (Poco::JSON::Object::Ptr root)
 
Poco::JSON::Object::Ptr request_conf (const std::string &req, const Poco::URI::QueryParameters &p)
 
Poco::JSON::Object::Ptr request_conf_name (const std::string &name, const std::string &props)
 
- Защищенные члены унаследованные от uniset::LT_Object
virtual std::string getTimerName (int id)
 
TimersList getTimersList ()
 

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

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)
 

Дополнительные унаследованные члены

- Защищенные типы унаследованные от uniset::UniSetManager
enum  OManagerCommand { deactiv, activ, initial, term }
 
typedef UniSetManagerList::iterator MListIterator
 
- Защищенные типы унаследованные от uniset::LT_Object
typedef std::deque< TimerInfoTimersList
 
- Защищенные данные унаследованные от uniset::UniSetManager
PortableServer::POA_var poa
 
PortableServer::POAManager_var pman
 
- Защищенные данные унаследованные от uniset::UniSetObject
std::shared_ptr< UInterfaceui
 
std::string myname
 
std::string section
 
std::weak_ptr< UniSetManagermymngr
 
- Защищенные данные унаследованные от uniset::LT_Object
timeout_t sleepTime
 

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

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

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

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

REST API

UniSetActivator реализует обработку команд /conf/..

Методы

Poco::JSON::Array::Ptr UniSetActivator::httpGetObjectsList ( const Poco::URI::QueryParameters &  p)
overridevirtual
void UniSetActivator::run ( bool  thread)
virtual

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

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

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

Заметки
Объект становится недоступен другим процессам