UniSet 2.32.1
Классы | Открытые типы | Открытые члены | Открытые статические члены | Защищенные типы | Защищенные члены | Защищенные данные | Статические защищенные данные | Друзья | Полный список членов класса
Класс uniset::SharedMemory

#include <SharedMemory.h>

Граф наследования:uniset::SharedMemory:
Inheritance graph
[см. легенду]
Граф связей класса uniset::SharedMemory:
Collaboration graph
[см. легенду]

Классы

class  HeartBeatInfo
 
struct  HistoryInfo
 
struct  HistoryItem
 

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

typedef std::deque< long > HBuffer
 
typedef std::list< HistoryItemHistoryList
 
typedef std::list< HistoryInfoHistory
 
typedef std::list< History::iterator > HistoryItList
 
typedef std::unordered_map< uniset::ObjectId, HistoryItList > HistoryFuseMap
 
typedef sigc::signal< void, const HistoryInfo & > HistorySlot
 
- Открытые типы унаследованные от uniset::IONotifyController
typedef std::list< ConsumerInfoExtConsumerList
 
typedef std::unordered_map< uniset::ObjectId, ConsumerListInfoAskMap
 
typedef std::unordered_map< UThresholdInfo *, ConsumerListInfoAskThresholdMap
 
- Открытые типы унаследованные от 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
 

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

 SharedMemory (ObjectId id, const std::shared_ptr< IOConfig_XML > &ioconf, const std::string &confname="")
 
virtual CORBA::Boolean exist () override
 
virtual uniset::SimpleInfogetInfo (const char *userparam=0) override
 
void addReadItem (IOConfig_XML::ReaderSlot sl)
 
HistorySlot signal_history ()
 
int getHistoryStep () const
 
std::shared_ptr< LogAgregatorlogAgregator ()
 
std::shared_ptr< DebugStreamlog ()
 
- Открытые члены унаследованные от uniset::IONotifyController
 IONotifyController (const std::string &name, const std::string &section, std::shared_ptr< IOConfig > ioconf=nullptr)
 
 IONotifyController (const uniset::ObjectId id, std::shared_ptr< IOConfig > ioconf=nullptr)
 
virtual uniset::ObjectType getType () override
 
virtual void askSensor (const uniset::ObjectId sid, const uniset::ConsumerInfo &ci, UniversalIO::UIOCommand cmd) override
 
virtual void askThreshold (const uniset::ObjectId sid, const uniset::ConsumerInfo &ci, uniset::ThresholdId tid, CORBA::Long lowLimit, CORBA::Long hiLimit, CORBA::Boolean invert, UniversalIO::UIOCommand cmd) override
 
virtual IONotifyController_i::ThresholdInfo getThresholdInfo (const uniset::ObjectId sid, uniset::ThresholdId tid) override
 
virtual IONotifyController_i::ThresholdListgetThresholds (const uniset::ObjectId sid) override
 
virtual IONotifyController_i::ThresholdsListSeq * getThresholdsList () override
 
virtual uniset::IDSeqaskSensorsSeq (const uniset::IDSeq &lst, const uniset::ConsumerInfo &ci, UniversalIO::UIOCommand cmd) override
 
virtual Poco::JSON::Object::Ptr httpHelp (const Poco::URI::QueryParameters &p) override
 
virtual Poco::JSON::Object::Ptr httpRequest (const std::string &req, const Poco::URI::QueryParameters &p) 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 CORBA::Long getValue (uniset::ObjectId sid) 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) 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 () override
 
virtual IOController_i::SensorIOInfo getSensorIOInfo (uniset::ObjectId sid) override
 
virtual CORBA::Long getRawValue (uniset::ObjectId sid) override
 
virtual void calibrate (uniset::ObjectId sid, const IOController_i::CalibrateInfo &ci, uniset::ObjectId adminId) override
 
IOController_i::CalibrateInfo getCalibrateInfo (uniset::ObjectId sid) 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)
 
virtual IOController_i::ShortIOInfo getTimeChange (const uniset::ObjectId id) override
 
virtual IOController_i::ShortMapSeq * getSensors () 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< UniSetManagerget_mptr ()
 
- Открытые члены унаследованные от uniset::UniSetObject
 UniSetObject (const std::string &name, const std::string &section)
 
 UniSetObject (uniset::ObjectId id)
 
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
 поместить текстовое сообщение в очередь
 
virtual Poco::JSON::Object::Ptr httpGet (const Poco::URI::QueryParameters &p) 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< SharedMemoryinit_smemory (int argc, const char *const *argv)
 
static void help_print (int argc, const char *const *argv)
 

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

enum  Timers {
  tmHeartBeatCheck , tmEvent , tmHistory , tmPulsar ,
  tmLastOfTimerID
}
 
typedef std::list< IOConfig_XML::ReaderSlotReadSlotList
 
typedef std::list< HeartBeatInfoHeartBeatList
 
typedef std::list< uniset::ObjectIdEventList
 
- Защищенные типы унаследованные от uniset::IONotifyController
enum  UserDataID { udataConsumerList = 0 }
 
- Защищенные типы унаследованные от 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 timerInfo (const uniset::TimerMessage *tm) override
 
virtual std::string getTimerName (int id) const override
 
void sendEvent (uniset::SystemMessage &sm)
 
void initFromReserv ()
 
bool initFromSM (uniset::ObjectId sm_id, uniset::ObjectId sm_node)
 
virtual bool activateObject () override
 
virtual bool deactivateObject () override
 
bool readItem (const std::shared_ptr< UniXML > &xml, UniXML::iterator &it, xmlNode *sec)
 
void buildEventList (xmlNode *cnode)
 
void readEventList (const std::string &oname)
 
void checkHeartBeat ()
 
virtual void logging (uniset::SensorMessage &sm) override
 сохранение информации об изменении состояния датчика
 
virtual void checkFuse (std::shared_ptr< IOController::USensorInfo > &usi, IOController *)
 
virtual void saveToHistory ()
 
void buildHistoryList (xmlNode *cnode)
 
void checkHistoryFilter (UniXML::iterator &it)
 
- Защищенные члены унаследованные от uniset::IONotifyController
virtual void sensorsRegistration () override
 
virtual void initItem (std::shared_ptr< USensorInfo > &usi, IOController *ic)
 
virtual void send (ConsumerListInfo &lst, const uniset::SensorMessage &sm, const uniset::ConsumerInfo *ci=nullptr)
 посылка информации об изменении состояния датчика (всем или указанному заказчику)
 
virtual void checkThreshold (std::shared_ptr< USensorInfo > &usi, bool send=true)
 проверка срабатывания пороговых датчиков
 
virtual void checkThreshold (IOController::IOStateList::iterator &li, const uniset::ObjectId sid, bool send_msg=true)
 
std::shared_ptr< UThresholdInfofindThreshold (const uniset::ObjectId sid, const uniset::ThresholdId tid)
 поиск информации о пороговом датчике
 
virtual void readConf ()
 
void onChangeUndefinedState (std::shared_ptr< USensorInfo > &usi, IOController *ic)
 
virtual long localSetValue (std::shared_ptr< USensorInfo > &usi, CORBA::Long value, uniset::ObjectId sup_id) override
 
Poco::JSON::Object::Ptr request_consumers (const std::string &req, const Poco::URI::QueryParameters &p)
 
Poco::JSON::Object::Ptr request_lost (const std::string &req, const Poco::URI::QueryParameters &p)
 
Poco::JSON::Object::Ptr getConsumers (uniset::ObjectId sid, ConsumerListInfo &clist, bool ifNotEmpty=true)
 
void showStatisticsForConsumer (std::ostringstream &inf, const std::string &consumer)
 
void showStatisticsForLostConsumers (std::ostringstream &inf)
 
void showStatisticsForConsusmers (std::ostringstream &inf)
 
void showStatisticsForConsumersWithLostEvent (std::ostringstream &inf)
 
void showStatisticsForSensor (std::ostringstream &inf, const std::string &name)
 
- Защищенные члены унаследованные от 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)
 
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)
 
long localGetValue (std::shared_ptr< USensorInfo > &usi)
 
virtual Poco::JSON::Object::Ptr request_get (const std::string &req, const Poco::URI::QueryParameters &p)
 
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, bool shortInfo=false)
 
virtual void activateInit ()
 
virtual void sensorsUnregistration ()
 
InitSignal signal_init ()
 
void ioRegistration (std::shared_ptr< USensorInfo > &usi)
 
void ioUnRegistration (const uniset::ObjectId sid)
 
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 dumpToDB ()
 сохранение состояния всех датчиков в БД
 
IOStateList::iterator myioBegin ()
 
IOStateList::iterator myioEnd ()
 
IOStateList::iterator myiofind (uniset::ObjectId id)
 
void initIOList (const IOStateList &&l)
 
void for_iolist (UFunction f)
 
- Защищенные члены унаследованные от 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< UniSetManagerfindManager (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 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
TimersList getTimersList () const
 

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

ReadSlotList lstRSlot
 
std::mutex mutexStart
 
int heartbeatCheckTime
 
std::string heartbeat_node
 
int histSaveTime
 
HeartBeatList hblist
 
std::shared_ptr< WDTInterfacewdt
 
std::atomic_bool activated = { false }
 
std::atomic_bool workready = { false }
 
std::atomic_bool cancelled = { false }
 
EventList elst
 
std::string e_filter
 
int evntPause
 
int activateTimeout
 
bool dblogging = { false }
 
History hist
 
HistoryFuseMap histmap
 
IOStateList::iterator itPulsar
 
uniset::ObjectId sidPulsar
 
int msecPulsar
 
xmlNode * confnode
 
std::shared_ptr< LogAgregatorloga
 
std::shared_ptr< DebugStreamsmlog
 
std::shared_ptr< LogServerlogserv
 
std::string logserv_host = {""}
 
int logserv_port = {0}
 
VMonitor vmon
 
- Защищенные данные унаследованные от uniset::IONotifyController
std::shared_ptr< IOConfigrestorer
 
- Защищенные данные унаследованные от uniset::UniSetManager
PortableServer::POA_var poa
 
PortableServer::POAManager_var pman
 
- Защищенные данные унаследованные от uniset::UniSetObject
std::shared_ptr< UInterfaceui
 
std::string myname
 
std::weak_ptr< UniSetManagermymngr
 
- Защищенные данные унаследованные от uniset::LT_Object
timeout_t sleepTime
 

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

static const size_t udataHistory = 2
 

Друзья

std::ostream & operator<< (std::ostream &os, const HistoryInfo &h)
 

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

- Статические открытые данные унаследованные от uniset::IOController
static const long not_specified_value = { std::numeric_limits<long>::max() }
 

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

Реалиазция SharedMemory

Методы

◆ activateObject()

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

Регистрация объекта и всех его подобъектов в репозитории.

Заметки
Только после этого он (и они) становятся доступны другим процессам

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

◆ deactivateObject()

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

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

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

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

◆ exist()

CORBA::Boolean uniset::SharedMemory::exist ( )
overridevirtual

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

◆ getHistoryStep()

int uniset::SharedMemory::getHistoryStep ( ) const
inline

< период между точками "дампа", мсек

◆ getInfo()

uniset::SimpleInfo * uniset::SharedMemory::getInfo ( const char * userparam = 0)
overridevirtual

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

◆ getTimerName()

string uniset::SharedMemory::getTimerName ( int id) const
overrideprotectedvirtual

пользовательская функция для вывода названия таймера

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

◆ help_print()

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

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

◆ init_smemory()

shared_ptr< SharedMemory > uniset::SharedMemory::init_smemory ( int argc,
const char *const * argv )
static

глобальная функция для инициализации объекта

◆ logging()

void uniset::SharedMemory::logging ( uniset::SensorMessage & sm)
overrideprotectedvirtual

сохранение информации об изменении состояния датчика

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

◆ signal_history()

SharedMemory::HistorySlot uniset::SharedMemory::signal_history ( )

сигнал о срабатывании условий "сброса" дампа истории

◆ sysCommand()

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

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

◆ timerInfo()

void uniset::SharedMemory::timerInfo ( const uniset::TimerMessage * tm)
overrideprotectedvirtual

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

Данные класса

◆ histmap

HistoryFuseMap uniset::SharedMemory::histmap
protected

map для оптимизации поиска

◆ udataHistory

const size_t uniset::SharedMemory::udataHistory = 2
staticprotected
Предупреждения
Оптимизация использует userdata! Это опасно, если кто-то ещё захочет использовать userdata[2]. (0,1 - использует IONotifyController)