UniSet 2.44.3
Класс uniset::UniExchange

#include <UniExchange.h>

Граф наследования:uniset::UniExchange:
Граф связей класса uniset::UniExchange:

Классы

struct  SInfo
struct  NetNodeInfo

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

 UniExchange (uniset::ObjectId id, uniset::ObjectId shmID, const std::shared_ptr< SharedMemory > &ic=nullptr, const std::string &prefix="unet")
void execute ()
virtual IOController_i::ShortMapSeq * getSensors (const uniset::ObjectId consumer_id) override
Открытые члены унаследованные от uniset::IOController
 IOController (const std::string &name, const std::string &section)
 IOController (const uniset::ObjectId id)
void setDBServer (const std::shared_ptr< uniset::DBServer > &dbserver)
virtual uniset::ObjectType getType () override
virtual uniset::SimpleInfogetInfo (const char *userparam="") override
virtual CORBA::Long getValue (uniset::ObjectId sid, uniset::ObjectId sup_id) override
virtual void setValue (uniset::ObjectId sid, CORBA::Long value, uniset::ObjectId sup_id=uniset::DefaultObjectId) override
virtual void setUndefinedState (uniset::ObjectId sid, CORBA::Boolean undefined, uniset::ObjectId sup_id=uniset::DefaultObjectId) override
virtual void freezeValue (uniset::ObjectId sid, CORBA::Boolean set, CORBA::Long value, uniset::ObjectId sup_id=uniset::DefaultObjectId) override
virtual IOController_i::SensorInfoSeq * getSensorSeq (const uniset::IDSeq &lst, uniset::ObjectId sup_id) override
virtual uniset::IDSeqsetOutputSeq (const IOController_i::OutSeq &lst, uniset::ObjectId sup_id) override
virtual UniversalIO::IOType getIOType (uniset::ObjectId sid) override
virtual IOController_i::SensorInfoSeq * getSensorsMap (uniset::ObjectId sup_id) override
virtual IOController_i::SensorIOInfo getSensorIOInfo (uniset::ObjectId sid, uniset::ObjectId sup_id) override
virtual CORBA::Long getRawValue (uniset::ObjectId sid, uniset::ObjectId sup_id) override
virtual void calibrate (uniset::ObjectId sid, const IOController_i::CalibrateInfo &ci, uniset::ObjectId adminId) override
IOController_i::CalibrateInfo getCalibrateInfo (const uniset::ObjectId sid, const uniset::ObjectId consumer_id) override
IOController_i::SensorInfo SensorInfo (const uniset::ObjectId sid, const uniset::ObjectId node=uniset::uniset_conf() ->getLocalNode())
uniset::Message::Priority getPriority (const uniset::ObjectId id, const uniset::ObjectId consumer_id)
virtual IOController_i::ShortIOInfo getTimeChange (const uniset::ObjectId id, const uniset::ObjectId consumer_id) override
virtual Poco::JSON::Object::Ptr httpHelp (const Poco::URI::QueryParameters &p) override
virtual Poco::JSON::Object::Ptr httpRequest (const UHttp::HttpRequestContext &ctx) override
ChangeSignal signal_change_value (uniset::ObjectId sid)
ChangeSignal signal_change_value ()
ChangeUndefinedStateSignal signal_change_undefined_state (uniset::ObjectId sid)
ChangeUndefinedStateSignal signal_change_undefined_state ()
IOStateList::iterator ioBegin ()
IOStateList::iterator ioEnd ()
IOStateList::iterator find (uniset::ObjectId k)
int ioCount () const noexcept
Открытые члены унаследованные от uniset::UniSetManager
 UniSetManager (uniset::ObjectId id)
 UniSetManager (const std::string &name, const std::string &section)
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)
size_t objectsCount () const
PortableServer::POA_ptr getPOA ()
PortableServer::POAManager_ptr getPOAManager ()
std::shared_ptr< UniSetManager > get_mptr ()
Открытые члены унаследованные от uniset::UniSetObject
 UniSetObject (const std::string &name, const std::string &section)
 UniSetObject (uniset::ObjectId id)
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::SimpleInfoapiRequest (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
 поместить текстовое сообщение в очередь
uniset::ObjectPtr getRef () const
std::shared_ptr< UniSetObjectget_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

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

static std::shared_ptr< UniExchange > init_exchange (int argc, const char *const *argv, uniset::ObjectId shmID, const std::shared_ptr< SharedMemory > &ic=nullptr, const std::string &prefix="unet")
static void help_print (int argc, const char **argv)

Защищенные типы

typedef std::vector< SInfoSList
typedef std::list< NetNodeInfoNetNodeList
Защищенные типы унаследованные от uniset::IOController
typedef sigc::signal< void, std::shared_ptr< USensorInfo > &, IOController * > InitSignal
typedef std::function< void(std::shared_ptr< USensorInfo > &)> UFunction
Защищенные типы унаследованные от uniset::UniSetManager
enum  OManagerCommand { deactiv , activ , initial }
typedef UniSetManagerList::iterator MListIterator
typedef std::function< void(const std::shared_ptr< UniSetObject > &)> OFunction
typedef std::function< void(const std::shared_ptr< UniSetManager > &)> MFunction
Защищенные типы унаследованные от uniset::LT_Object
typedef std::deque< TimerInfoTimersList

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

virtual void sysCommand (const uniset::SystemMessage *sm) override
virtual void askSensors (UniversalIO::UIOCommand cmd)
virtual bool deactivateObject () override
void readConfiguration ()
bool readItem (const std::shared_ptr< UniXML > &xml, UniXML::iterator &it, xmlNode *sec)
bool initItem (UniXML::iterator &it)
void updateLocalData ()
void initIterators ()
Защищенные члены унаследованные от uniset::IOController
virtual long localSetValueIt (IOStateList::iterator &it, const uniset::ObjectId sid, CORBA::Long value, uniset::ObjectId sup_id)
virtual long localGetValue (IOStateList::iterator &it, const uniset::ObjectId sid, uniset::ObjectId sup_id)
virtual void localSetUndefinedState (IOStateList::iterator &it, bool undefined, const uniset::ObjectId sid)
virtual void localFreezeValueIt (IOController::IOStateList::iterator &li, uniset::ObjectId sid, CORBA::Boolean set, CORBA::Long value, uniset::ObjectId sup_id)
virtual void localFreezeValue (std::shared_ptr< USensorInfo > &usi, CORBA::Boolean set, CORBA::Long value, uniset::ObjectId sup_id)
virtual long localSetValue (std::shared_ptr< USensorInfo > &usi, CORBA::Long value, uniset::ObjectId sup_id)
long localGetValue (std::shared_ptr< USensorInfo > &usi, const uniset::ObjectId consumer_id)
virtual Poco::JSON::Object::Ptr request_get (const std::string &req, const Poco::URI::QueryParameters &p)
virtual Poco::JSON::Object::Ptr request_set (const std::string &req, const Poco::URI::QueryParameters &p)
virtual Poco::JSON::Object::Ptr request_freeze (const std::string &req, const Poco::URI::QueryParameters &p, bool set)
virtual Poco::JSON::Object::Ptr request_sensors (const std::string &req, const Poco::URI::QueryParameters &p)
void getSensorInfo (Poco::JSON::Array::Ptr &jdata, std::shared_ptr< USensorInfo > &s, uniset::ObjectId consumer_id, bool shortInfo=false)
virtual bool activateObject () override
virtual void activateInit ()
virtual void sensorsRegistration ()
virtual void sensorsUnregistration ()
InitSignal signal_init ()
void ioRegistration (std::shared_ptr< USensorInfo > &usi)
void ioUnRegistration (const uniset::ObjectId sid)
void reloadACLConfig (uniset::ACLMap &amap, uniset::ACLInfoMap &iomap)
IOController_i::SensorIOInfo SensorIOInfo (long v, UniversalIO::IOType t, const IOController_i::SensorInfo &si, uniset::Message::Priority p=uniset::Message::Medium, long defval=0, IOController_i::CalibrateInfo *ci=0, uniset::ObjectId sup_id=uniset::DefaultObjectId, uniset::ObjectId depend_sid=uniset::DefaultObjectId)
virtual void logging (uniset::SensorMessage &sm)
 сохранение информации об изменении состояния датчика
virtual void dumpToDB ()
 сохранение состояния всех датчиков в БД
IOStateList::iterator myioBegin ()
IOStateList::iterator myioEnd ()
IOStateList::iterator myiofind (uniset::ObjectId id)
void initIOList (const IOStateList &&l)
void for_iolist (UFunction f)
void setDefaultAccessMask (uniset::AccessMask m)
Защищенные члены унаследованные от 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)
void initPOA (const std::weak_ptr< UniSetManager > &rmngr)
const std::shared_ptr< UniSetObjectfindObject (const std::string &name) const
const std::shared_ptr< UniSetManager > findManager (const std::string &name) const
const std::shared_ptr< UniSetObjectdeepFindObject (const std::string &name) const
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)
void apply_for_objects (OFunction f)
void apply_for_managers (MFunction f)
Защищенные члены унаследованные от uniset::UniSetObject
virtual void processingMessage (const uniset::VoidMessage *msg)
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
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

Защищенные данные

xmlNode * cnode = { 0 }
std::string s_field = { "" }
std::string s_fvalue = { "" }
std::shared_ptr< SMInterface > shm
NetNodeList nlst
timeout_t polltime = { 200 }
PassiveTimer ptUpdate
bool init_ok = { false }
SList mymap
size_t maxIndex = { 0 }
timeout_t smReadyTimeout = { 60000 }
std::atomic_bool cancelled = { false }
Защищенные данные унаследованные от uniset::IOController
bool disabledHttpSetApi = { false }
bool disabledHttpFreezeApi = { false }
bool disableHttpAccessControl = { false }
Защищенные данные унаследованные от uniset::UniSetManager
PortableServer::POA_var poa
PortableServer::POAManager_var pman
Защищенные данные унаследованные от uniset::UniSetObject
std::shared_ptr< UInterfaceui
std::string myname
std::weak_ptr< UniSetManager > mymngr
Защищенные данные унаследованные от uniset::LT_Object
timeout_t sleepTime

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

Открытые типы унаследованные от uniset::IOController
typedef std::unordered_map< uniset::ObjectId, std::shared_ptr< USensorInfo > > IOStateList
typedef sigc::signal< void, std::shared_ptr< USensorInfo > &, IOController * > ChangeSignal
typedef sigc::signal< void, std::shared_ptr< USensorInfo > &, IOController * > ChangeUndefinedStateSignal
typedef std::list< std::shared_ptr< UThresholdInfo > > ThresholdExtList
Статические открытые данные унаследованные от uniset::IOController
static const long not_specified_value = { std::numeric_limits<long>::max() }

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

\page pageUniExchange Обмен между узлами на основе TCP.
Обмен построен на основе функций IOControl-ера получения списка дискретных
и аналоговых датчиков. Работает через удалённые CORBA-вызовы.
Процесс считывает из конфигурационного файла список узлов которые необходимо
опрашивать (точнее список IOControl-еров), запускается поток обмена, в котором эти узлы ПОСЛЕДОВАТЕЛЬНО опрашиваются..
Пример записи в конфигурационном файле для опроса пяти узлов...
<UniExchange name="UniExchange">
<item name="UniExchange2" node="Node2"/>
<item id="3001" node_id="Node2"/>
<item name="UniExchange3" node="Node3"/>
<item name="UniExchange4" node="Node4"/>
<item name="UniExchange5" node="Node5"/>
</UniExchange>
Запись можно делать по "id" или по "name"

Методы

◆ deactivateObject()

bool UniExchange::deactivateObject ( )
overrideprotectedvirtual
Заметки
Переопределяя, не забывайте вызвать базовую

Удаление объекта и всех его подобъектов из репозитория.

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

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

◆ getSensors()

IOController_i::ShortMapSeq * UniExchange::getSensors ( const uniset::ObjectId consumer_id)
overridevirtual

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

◆ help_print()

void UniExchange::help_print ( int argc,
const char ** argv )
static

глобальная функция для вывода help-а

◆ sysCommand()

void UniExchange::sysCommand ( const uniset::SystemMessage * sm)
overrideprotectedvirtual

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