UniSet  2.6.0
Классы | Открытые типы | Открытые члены | Открытые статические члены | Защищенные типы | Защищенные члены | Защищенные данные | Статические защищенные данные | Друзья | Полный список членов класса
Класс uniset::SharedMemory
Граф наследования: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
- Открытые типы inherited from uniset::IONotifyController
typedef std::list
< ConsumerInfoExt
ConsumerList
typedef std::unordered_map
< uniset::ObjectId,
ConsumerListInfo
AskMap
typedef std::list
< ThresholdInfoExt
ThresholdExtList
typedef std::unordered_map
< uniset::ObjectId,
ThresholdsListInfo
AskThresholdMap
- Открытые типы inherited from 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

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

 SharedMemory (uniset::ObjectId id, const std::string &datafile, const std::string &confname="")
virtual CORBA::Boolean exist () override
virtual uniset::SimpleInfogetInfo (const char *userparam=0) override
void addReadItem (Restorer_XML::ReaderSlot sl)
HistorySlot signal_history ()
int getHistoryStep () const
std::shared_ptr< LogAgregatorlogAgregator ()
std::shared_ptr< DebugStreamlog ()
- Открытые члены inherited from uniset::IONotifyController
 IONotifyController (const std::string &name, const std::string &section, std::shared_ptr< NCRestorer > dumper=nullptr)
 IONotifyController (const uniset::ObjectId id, std::shared_ptr< NCRestorer > dumper=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::ThresholdList
getThresholds (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 string &req, const Poco::URI::QueryParameters &p) override
- Открытые члены inherited from uniset::IOController
 IOController (const std::string &name, const std::string &section)
 IOController (const uniset::ObjectId id)
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
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
- Открытые члены inherited from 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 ()
- Открытые члены inherited from uniset::UniSetObject
 UniSetObject (const std::string &name, const std::string &section)
 UniSetObject (uniset::ObjectId id)
std::shared_ptr< UniSetObjectget_ptr ()
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 Poco::JSON::Object::Ptr httpGet (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
- Открытые члены inherited from uniset::LT_Object
timeout_t checkTimers (UniSetObject *obj)
timeout_t getTimeInterval (uniset::TimerId timerid)
timeout_t getTimeLeft (uniset::TimerId timerid)

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

static std::shared_ptr
< SharedMemory
init_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
< Restorer_XML::ReaderSlot
ReadSlotList
typedef std::list< HeartBeatInfoHeartBeatList
typedef std::list
< uniset::ObjectId
EventList
- Защищенные типы inherited from uniset::IONotifyController
enum  UserDataID { udataConsumerList = 0, udataThresholdList = 1 }
- Защищенные типы inherited from uniset::IOController
typedef sigc::signal< void,
std::shared_ptr< USensorInfo >
&, IOController * > 
InitSignal
- Защищенные типы inherited from uniset::UniSetManager
enum  OManagerCommand { deactiv, activ, initial, term }
typedef UniSetManagerList::iterator MListIterator

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

virtual void sysCommand (const uniset::SystemMessage *sm) override
virtual void timerInfo (const uniset::TimerMessage *tm) override
virtual void askSensors (UniversalIO::UIOCommand cmd)
void sendEvent (uniset::SystemMessage &sm)
void initFromReserv ()
bool initFromSM (uniset::ObjectId sm_id, uniset::ObjectId sm_node)
virtual void sigterm (int signo) override
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 dumpOrdersList (const uniset::ObjectId sid, const IONotifyController::ConsumerListInfo &lst) override
virtual void dumpThresholdList (const uniset::ObjectId sid, const IONotifyController::ThresholdExtList &lst) override
virtual void checkFuse (std::shared_ptr< IOController::USensorInfo > &usi, IOController *)
virtual void saveToHistory ()
void buildHistoryList (xmlNode *cnode)
void checkHistoryFilter (UniXML::iterator &it)
- Защищенные члены inherited from uniset::IONotifyController
virtual void initItem (std::shared_ptr< USensorInfo > &usi, IOController *ic)
virtual void send (ConsumerListInfo &lst, const uniset::SensorMessage &sm)
 посылка информации об изменении состояния датчика
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)
ThresholdExtList::iterator findThreshold (const uniset::ObjectId sid, const uniset::ThresholdId tid)
 поиск информации о пороговом датчике
virtual void readDump ()
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 string &req, const Poco::URI::QueryParameters &p)
Poco::JSON::Object::Ptr getConsumers (uniset::ObjectId sid, ConsumerListInfo &clist, bool ifNotEmpty=true)
- Защищенные члены inherited from 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)
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 sensorsRegistration ()
virtual void sensorsUnregistration ()
InitSignal signal_init ()
void ioRegistration (std::shared_ptr< USensorInfo > &usi, bool force=false)
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)
virtual void dumpToDB ()
 сохранение состояния всех датчиков в БД
IOStateList::iterator myioBegin ()
IOStateList::iterator myioEnd ()
IOStateList::iterator myiofind (uniset::ObjectId id)
size_t ioCount ()
- Защищенные члены inherited from 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
< 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)
- Защищенные члены inherited from uniset::UniSetObject
virtual void processingMessage (const uniset::VoidMessage *msg)
virtual void sensorInfo (const uniset::SensorMessage *sm)
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)
- Защищенные члены inherited from uniset::LT_Object
virtual std::string getTimerName (int id)
TimersList getTimersList ()

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

ReadSlotList lstRSlot
std::mutex mutexStart
int heartbeatCheckTime
std::string heartbeat_node
int histSaveTime
HeartBeatList hblist
std::shared_ptr< WDTInterfacewdt
std::atomic_bool activated
std::atomic_bool workready
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
- Защищенные данные inherited from uniset::IONotifyController
std::shared_ptr< NCRestorerrestorer

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

static const size_t udataHistory = 2

Друзья

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

Методы

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

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

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

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

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

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

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

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

virtual void uniset::SharedMemory::dumpOrdersList ( const uniset::ObjectId  sid,
const IONotifyController::ConsumerListInfo lst 
)
inlineoverrideprotectedvirtual

сохранение списка заказчиков По умолчанию делает dump, если объявлен dumper.

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

virtual void uniset::SharedMemory::dumpThresholdList ( const uniset::ObjectId  sid,
const IONotifyController::ThresholdExtList lst 
)
inlineoverrideprotectedvirtual

сохранение списка заказчиков пороговых датчиков По умолчанию делает dump, если объявлен dumper.

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

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

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

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

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

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

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

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

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

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

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

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

void uniset::SharedMemory::sigterm ( int  signo)
overrideprotectedvirtual

Функция вызываемая при приходе сигнала завершения или прерывания процесса. Переопределив ее можно выполнять специфичные для процесса действия по обработке сигнала. Например переход в безопасное состояние.

Предупреждения
В обработчике сигналов ЗАПРЕЩЕНО вызывать функции подобные exit(..), abort()!!!!

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

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

HistoryFuseMap uniset::SharedMemory::histmap
protected

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

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