UniSet 2.32.1
|
#include <UniSetObject.h>
Открытые члены | |
UniSetObject (const std::string &name, const std::string §ion) | |
UniSetObject (uniset::ObjectId id) | |
virtual CORBA::Boolean | exist () override |
virtual uniset::ObjectId | getId () override |
const uniset::ObjectId | getId () const |
std::string | getName () const |
virtual uniset::ObjectType | getType () override |
const std::string | getStrType () |
virtual uniset::SimpleInfo * | getInfo (const char *userparam="") override |
virtual uniset::SimpleInfo * | apiRequest (const char *query) override |
virtual void | push (const uniset::TransportMessage &msg) override |
поместить сообщение в очередь | |
virtual void | pushMessage (const char *msg, ::CORBA::Long mtype, const ::uniset::Timespec &tm, const ::uniset::ProducerInfo &pi, ::CORBA::Long priority, ::CORBA::Long consumer) 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 |
std::shared_ptr< UniSetObject > | get_ptr () |
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) const |
timeout_t | getTimeLeft (uniset::TimerId timerid) const |
Открытые члены унаследованные от uniset::UHttp::IHttpRequest | |
virtual Poco::JSON::Object::Ptr | httpRequest (const std::string &req, const Poco::URI::QueryParameters &p) |
Защищенные члены | |
virtual void | processingMessage (const uniset::VoidMessage *msg) |
virtual void | sysCommand (const uniset::SystemMessage *sm) |
virtual void | sensorInfo (const uniset::SensorMessage *sm) |
virtual void | timerInfo (const uniset::TimerMessage *tm) |
virtual void | onTextMessage (const uniset::TextMessage *tm) |
VoidMessagePtr | receiveMessage () |
VoidMessagePtr | waitMessage (timeout_t msec=UniSetTimer::WaitUpTime) |
void | termWaiting () |
size_t | countMessages () |
size_t | getCountOfLostMessages () const |
virtual bool | activateObject () |
Активизация объекта (переопределяется для необходимых действий после активизации) | |
virtual bool | deactivateObject () |
Деактивация объекта (переопределяется для необходимых действий при завершении работы) | |
void | uterminate () |
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_configure (const std::string &req, const Poco::URI::QueryParameters &p) |
Poco::JSON::Object::Ptr | request_configure_get (const std::string &req, const Poco::URI::QueryParameters &p) |
Poco::JSON::Object::Ptr | request_configure_by_name (const std::string &name, const std::string &props) |
Poco::JSON::Object::Ptr | request_params (const std::string &req, const Poco::URI::QueryParameters &p) |
virtual Poco::JSON::Object::Ptr | request_params_get (const std::string &req, const Poco::URI::QueryParameters &p) |
virtual Poco::JSON::Object::Ptr | request_params_set (const std::string &req, const Poco::URI::QueryParameters &p) |
Защищенные члены унаследованные от uniset::LT_Object | |
virtual std::string | getTimerName (int id) const |
TimersList | getTimersList () const |
Защищенные данные | |
std::shared_ptr< UInterface > | ui |
std::string | myname |
std::weak_ptr< UniSetManager > | mymngr |
Защищенные данные унаследованные от uniset::LT_Object | |
timeout_t | sleepTime |
Друзья | |
class | UniSetManager |
class | UniSetActivator |
std::ostream & | operator<< (std::ostream &os, UniSetObject &obj) |
Дополнительные унаследованные члены | |
Защищенные типы унаследованные от uniset::LT_Object | |
typedef std::deque< TimerInfo > | TimersList |
Класс реализует работу uniset-объекта: работа с очередью сообщений, регистрация объекта, инициализация и т.п. Обработка сообщений ведётся в специально создаваемом потоке. Для ожидания сообщений используется функция waitMessage(msec), основанная на таймере. Ожидание прерывается либо по истечении указанного времени, либо по приходу сообщения, при помощи функции termWaiting() вызываемой из push().
Имеется три очереди сообщений, по приоритетам: Hi, Medium, Low. Соответственно сообщения вынимаются в порядке поступления, но сперва из Hi, потом из Medium, а потом из Low очереди.
uniset::UniSetObject::UniSetObject | ( | const std::string & | name, |
const std::string & | section ) |
|
protectedvirtual |
Активизация объекта (переопределяется для необходимых действий после активизации)
Переопределяется в UObject_SK, uniset::IOControl, uniset::PassiveLProcessor, uniset::MBExchange, uniset::MBSlave, uniset::OPCUAExchange, uniset::SharedMemory, TestProc_SK, TestProc_SK, LostTestProc_SK, TestProc_SK, uniset::UNetExchange, uniset::UWebSocketGate, uniset::DBServer, uniset::IOController, uniset::IONotifyController, uniset::ProxyManager и uniset::UniSetManager.
|
overridevirtual |
заказ таймера (вынесена в public, хотя должна была бы быть в protected
Переопределяет метод предка uniset::LT_Object.
|
protectedvirtual |
функция вызываемая из потока
Переопределяется в uniset::BackendClickHouse, uniset::BackendOpenTSDB, UObject_SK, uniset::OPCUAServer, TestProc_SK, TestProc_SK, LostTestProc_SK и TestProc_SK.
|
protected |
текущее количество сообщений в очереди
|
protectedvirtual |
Деактивация объекта (переопределяется для необходимых действий при завершении работы)
Переопределяется в uniset::DBServer_PostgreSQL, UObject_SK, uniset::IOControl, uniset::PassiveLProcessor, uniset::MBExchange, uniset::MBTCPMaster, uniset::MBTCPMultiMaster, uniset::MBSlave, uniset::MQTTPublisher, uniset::OPCUAExchange, uniset::OPCUAServer, uniset::SharedMemory, TestProc_SK, TestProc_SK, LostTestProc_SK, TestProc_SK, uniset::UNetExchange, uniset::UniExchange, uniset::UWebSocketGate, uniset::IOController, uniset::ProxyManager и uniset::UniSetManager.
|
protected |
количество потерянных сообщений
|
overridevirtual |
Переопределяется в uniset::IONotifyController.
|
protected |
получить размер очереди сообщений
ObjectPtr uniset::UniSetObject::getRef | ( | ) | const |
получить ссылку (на себя)
|
overridevirtual |
Замещает uniset::UHttp::IHttpRequest.
|
overridevirtual |
Замещает uniset::UHttp::IHttpRequest.
|
protected |
проверка "активности" объекта
|
protected |
отключение потока обработки сообщений
|
protected |
включение потока обработки сообщений
|
protectedvirtual |
обработка приходящих сообщений
Переопределяется в UObject_SK, TestProc_SK, TestProc_SK, LostTestProc_SK, TestProc_SK, uniset::DBServer и uniset::ProxyManager.
|
overridevirtual |
поместить сообщение в очередь
|
overridevirtual |
поместить текстовое сообщение в очередь
|
protected |
Получить сообщение
vm | - указатель на структуру, которая заполняется, если есть сообщение |
|
protected |
false - завершить работу потока обработки сообщений
|
protected |
установка ID объекта
|
protected |
установка размера очереди сообщений
|
protected |
установить приоритет для потока обработки сообщений (если позволяют права и система)
|
protected |
прервать ожидание сообщений
|
protected |
запрет(разрешение) создания потока для обработки сообщений
|
protected |
Ожидать сообщения заданное время
|
protected |
универсальный интерфейс для работы с другими процессами