UniSet  2.7.0
Пространства имен | Классы | Определения типов | Перечисления | Функции | Переменные
Пространство имен uniset

Пространства имен

 ModbusTCPCore
 

Классы

class  BackendOpenTSDB
 
class  Calibration
 
class  CallbackTimer
 Таймер Подробнее...
 
class  CardList
 
class  ComediInterface
 
class  CommFailed
 
class  CommonEventLoop
 The CommonEventLoop class Реализация механизма "один eventloop, много подписчиков" (libev). Создаётся один CommonEventLoop который обслуживает множество EvWatcher-ов. Каждый класс который хочет подключиться к основному loop, должен наследоваться от класса Watcher и при необходимости переопределить функции evprepare и evfinish. EvWatcher добавляется(запускается) evrun(..) и останавливается функцией evstop(..). При этом фактически eventloop запускается при первом вызове evrun(), а останавливается при отключении последнего EvWatcher. Подробнее...
 
class  ComPort
 
class  ComPort485F
 
class  Configuration
 
class  ConfirmMessage
 
struct  ConsumerInfo
 
struct  DataGuard
 
class  DBInterface
 
struct  DBInterfaceDeleter
 
class  DBNetInterface
 
class  DBResult
 
class  DBRowIterator
 
class  DBServer
 
class  DBServer_MySQL
 
class  DBServer_PostgreSQL
 The DBServer_PostgreSQL class Реализация работы с PostgreSQL. Подробнее...
 
class  DBServer_SQLite
 
class  DelayTimer
 
class  DigitalFilter
 
class  Element
 
class  EventLoopServer
 The EventLoopServer class Реализация общей части всех процессов использующих libev. Содержит свой (динамический) eventloop;. Подробнее...
 
class  EvWatcher
 
class  Exception
 
class  FakeComediInterface
 
class  FakeIOControl
 
class  HourGlass
 
class  IDList
 
class  InvalidObjectName
 
class  IOBadParam
 
struct  IOBase
 
class  IOConfig
 
class  IOConfig_XML
 
class  IOControl
 
class  IOController
 
class  IONotifyController
 
class  IORFile
 
class  ios_fmt_restorer
 
class  LimitTimers
 
class  LogAgregator
 
class  LogDB
 
class  LogicException
 
class  LogReader
 
class  LogServer
 
class  LogSession
 
class  LProcessor
 
class  LT_Object
 
class  MBExchange
 
class  MBSlave
 
class  MBTCPMaster
 
class  MBTCPMultiMaster
 
class  Message
 
class  ModbusClient
 
class  ModbusRTUMaster
 
class  ModbusRTUSlave
 
class  ModbusRTUSlaveSlot
 
class  ModbusServer
 
class  ModbusServerSlot
 
class  ModbusTCPMaster
 
class  ModbusTCPServer
 
class  ModbusTCPServerSlot
 
class  ModbusTCPSession
 The ModbusTCPSession class Класс рассчитан на совместную работу с ModbusTCPServer, т.к. построен на основе libev, и главный цикл (default_loop) находиться там. Подробнее...
 
class  MQAtomic
 
class  MQMutex
 
class  MQTTPublisher
 
class  MySQLInterface
 
class  NameNotFound
 
struct  NodeInfo
 
class  NSResolveError
 
class  ObjectIndex
 
class  ObjectIndex_Array
 
class  ObjectIndex_idXML
 
class  ObjectIndex_XML
 
struct  ObjectInfo
 
class  ObjectNameAlready
 
class  ObjectRepository
 
class  OmniThreadCreator
 
class  ORepFailed
 
class  OutOfRange
 
struct  ParamSInfo
 
class  PassiveCondTimer
 Пассивный таймер с режимом засыпания (ожидания) Подробнее...
 
class  PassiveLProcessor
 
class  PassiveObject
 
class  PassiveTimer
 Пассивный таймер Подробнее...
 
class  PID
 
class  PostgreSQLInterface
 
class  ProxyManager
 
class  Pulse
 
class  ResolveNameError
 
class  RRDServer
 
class  RTUExchange
 
class  RTUStorage
 
class  Schema
 
class  SchemaXML
 
class  SensorMessage
 
class  Service
 
class  SharedMemory
 
struct  SimpleInfo
 
class  SMInterface
 
class  SMonitor
 
class  SQLiteInterface
 
class  SViewer
 
class  SystemError
 
class  SystemMessage
 
class  TA2D
 
class  TAND
 
class  TCPCheck
 
class  TDelay
 
class  ThreadCreator
 
class  TimeOut
 
class  TimerMessage
 
class  TNOT
 
class  TOR
 
struct  TransportMessage
 
class  Trigger
 
class  TriggerAND
 
class  TriggerOR
 
class  TriggerOUT
 
class  UDPReceiveU
 
class  UDPSocketU
 
class  UInterface
 
class  UNetExchange
 
class  UNetReceiver
 
class  UNetSender
 
class  UniExchange
 
class  uniset_rwmutex
 
class  uniset_rwmutex_rlock
 
class  uniset_rwmutex_wrlock
 
class  UniSetActivator
 
class  UniSetManager
 
class  UniSetObject
 
class  UniSetTimer
 Базовый интерфейс пасивных таймеров Подробнее...
 
class  UniXML
 
class  UniXML_iterator
 
class  USocket
 
class  UTCPSocket
 
class  UTCPStream
 
class  VMonitor
 
class  VoidMessage
 
class  WDTInterface
 

Определения типов

typedef std::shared_ptr< DBInterfacecreate_dbinterface_t()
 
typedef std::shared_ptr< uniset::VoidMessageVoidMessagePtr
 
typedef Poco::Timespan::TimeDiff timeout_t
 
typedef std::shared_ptr< UniSetActivatorUniSetActivatorPtr
 
typedef std::list< std::shared_ptr< UniSetManager > > UniSetManagerList
 
typedef std::list< std::shared_ptr< UniSetObject > > ObjectsList
 
typedef size_t KeyType
 
typedef std::list< std::string > ListObjectName
 
typedef CORBA::Object_ptr ObjectPtr
 
typedef CORBA::Object_var ObjectVar
 
typedef std::list< NodeInfoListOfNode
 
typedef std::vector< std::pair< const std::string, const std::string > > UniXMLPropList
 
typedef long ObjectId
 
typedef long ThresholdId
 
typedef long TimerId
 
typedef string< SizeOfObjectType > ObjectType
 
typedef octet ByteOfMessage
 
typedef ByteOfMessage RawDataOfTransportMessage[SizeOfTransportMessage]
 
typedef sequence< SimpleInfoSimpleInfoSeq
 
typedef sequence< ObjectIdIDSeq
 

Перечисления

enum  LampCommand {
  lmpOFF = 0, lmpON = 1, lmpBLINK = 2, lmpBLINK2 = 3,
  lmpBLINK3 = 4
}
 

Функции

std::shared_ptr< Configurationuniset_conf () noexcept
 
std::shared_ptr< DebugStreamulog () noexcept
 
std::shared_ptr< Configurationuniset_init (int argc, const char *const *argv, const std::string &xmlfile="configure.xml")
 
std::string strTypeOfMessage (int type)
 
std::ostream & operator<< (std::ostream &os, const Message::TypeOfMessage &t)
 
std::ostream & operator<< (std::ostream &os, const SystemMessage::Command &c)
 
std::ostream & operator<< (std::ostream &os, uniset_rwmutex &m)
 
template<typename T , typename... _Args>
std::shared_ptr< T > make_object (const std::string &idname, const std::string &secname, _Args &&... __args)
 
template<typename T , typename... _Args>
std::shared_ptr< T > make_object_x (xmlNode *root, const std::string &secname, _Args &&... __args)
 
template<typename T , typename M , typename... _Args>
std::shared_ptr< T > make_child_object (M *m, const std::string &idname, const std::string &secname, _Args &&... __args)
 
template<typename T , typename M , typename... _Args>
std::shared_ptr< T > make_child_object_x (M *m, xmlNode *root, const std::string &secname, _Args &&... __args)
 
char checkBadSymbols (const std::string &str)
 
std::string BadSymbolsToStr ()
 
static KeyType key (const uniset::ObjectId id, const uniset::ObjectId node)
 
static KeyType key (const IOController_i::SensorInfo &si)
 
UniversalIO::IOType getIOType (const std::string &s) noexcept
 
std::string iotype2str (const UniversalIO::IOType &t) noexcept
 
std::ostream & operator<< (std::ostream &os, const UniversalIO::IOType t)
 
std::ostream & operator<< (std::ostream &os, const IONotifyController_i::ThresholdInfo &ti)
 
std::ostream & operator<< (std::ostream &os, const IOController_i::ShortIOInfo &s)
 
std::ostream & operator<< (std::ostream &os, const IONotifyController_i::ThresholdState &s)
 
int uni_atoi (const char *str) noexcept
 Преобразование строки в число (воспринимает префикс 0, как 8-ное, префикс 0x, как 16-ное, минус для отриц. чисел) Подробнее...
 
int uni_atoi (const std::string &str) noexcept
 
char * uni_strdup (const std::string &src)
 
std::string timeToString (time_t tm=time(0), const std::string &brk=":") noexcept
 
std::string dateToString (time_t tm=time(0), const std::string &brk="/") noexcept
 
struct timeval to_timeval (const std::chrono::system_clock::duration &d)
 
struct timespec to_timespec (const std::chrono::system_clock::duration &d)
 
struct timespec now_to_timespec ()
 
bool operator== (const struct timespec &r1, const struct timespec &r2)
 
bool operator!= (const struct timespec &r1, const struct timespec &r2)
 
IDList explode (const std::string &str, char sep=',')
 
std::vector< std::string > explode_str (const std::string &str, char sep=',')
 
std::list< ParamSInfogetSInfoList (const std::string &s, std::shared_ptr< uniset::Configuration > conf=nullptr)
 
std::list< uniset::ConsumerInfogetObjectsList (const std::string &s, std::shared_ptr< uniset::Configuration > conf=nullptr)
 
bool is_digit (const std::string &s) noexcept
 
std::string replace_all (const std::string &src, const std::string &from, const std::string &to)
 
std::string getArgParam (const std::string &name, int _argc, const char *const *_argv, const std::string &defval="") noexcept
 
std::string getArg2Param (const std::string &name, int _argc, const char *const *_argv, const std::string &defval, const std::string &defval2="") noexcept
 
int getArgInt (const std::string &name, int _argc, const char *const *_argv, const std::string &defval="") noexcept
 
int getArgPInt (const std::string &name, int _argc, const char *const *_argv, const std::string &strdefval, int defval) noexcept
 
int findArgParam (const std::string &name, int _argc, const char *const *_argv)
 
std::ostream & operator<< (std::ostream &os, const IOController_i::CalibrateInfo &c)
 
float fcalibrate (float raw, float rawMin, float rawMax, float calMin, float calMax, bool limit=true)
 
long lcalibrate (long raw, long rawMin, long rawMax, long calMin, long calMax, bool limit=true)
 
long setinregion (long raw, long rawMin, long rawMax)
 
long setoutregion (long raw, long rawMin, long rawMax)
 
bool file_exist (const std::string &filename)
 
bool check_filter (UniXML::iterator &it, const std::string &f_prop, const std::string &f_val="") noexcept
 
static int32_t get_crc_16 (uint16_t crc, uint8_t *buf, size_t size)
 
static std::string makeSecName (const std::string &sec, const std::string &name) noexcept
 
static void activator_terminate (int signo)
 
ostream & operator<< (ostream &os, UniSetObject &obj)
 
std::ostream & operator<< (std::ostream &os, LogAgregator &la)
 
std::ostream & operator<< (std::ostream &os, std::shared_ptr< LogAgregator > la)
 
static const std::string checkArg (size_t i, const std::vector< std::string > &v)
 
std::ostream & operator<< (std::ostream &os, VMonitor &m)
 
std::ostream & operator<< (std::ostream &os, const std::shared_ptr< IOControl::IOInfo > &inf)
 
std::ostream & operator<< (std::ostream &os, const IOControl::IOInfo &inf)
 
static Calibration::PartsVec::iterator find_range (const long raw, Calibration::PartsVec::iterator beg, Calibration::PartsVec::iterator end)
 
std::ostream & operator<< (std::ostream &os, Calibration &c)
 
std::ostream & operator<< (std::ostream &os, Calibration *c)
 
std::ostream & operator<< (std::ostream &os, const DigitalFilter &d)
 
std::ostream & operator<< (std::ostream &os, const DigitalFilter *d)
 
std::ostream & operator<< (std::ostream &os, IOBase &inf)
 
std::ostream & operator<< (std::ostream &os, const IOBase::FrontType &f)
 
std::ostream & operator<< (std::ostream &os, PID &p)
 
ostream & operator<< (ostream &os, const Element &el)
 
ostream & operator<< (ostream &os, const std::shared_ptr< Element > &el)
 
std::ostream & operator<< (std::ostream &os, MBExchange::RTUDeviceMap &m)
 
std::ostream & operator<< (std::ostream &os, MBExchange::RTUDevice &d)
 
std::ostream & operator<< (std::ostream &os, const MBExchange::RegInfo *r)
 
std::ostream & operator<< (std::ostream &os, const MBExchange::RegInfo &r)
 
std::ostream & operator<< (std::ostream &os, const MBExchange::DeviceType &dt)
 
std::ostream & operator<< (std::ostream &os, const MBExchange::RSProperty &p)
 
std::ostream & operator<< (std::ostream &os, const MBExchange::ExchangeMode &em)
 
std::string to_string (const MBExchange::SafeMode &m)
 
ostream & operator<< (ostream &os, const MBExchange::SafeMode &m)
 
std::ostream & operator<< (std::ostream &os, RTUStorage &m)
 
std::ostream & operator<< (std::ostream &os, RTUStorage *m)
 
std::ostream & operator<< (std::ostream &os, MBSlave::BitRegProperty *p)
 
std::ostream & operator<< (std::ostream &os, MBSlave::BitRegProperty &p)
 
std::ostream & operator<< (std::ostream &os, MBSlave::IOProperty &p)
 
std::ostream & operator<< (std::ostream &os, const SharedMemory::HistoryInfo &h)
 
static int get_crc_16 (uint16_t crc, unsigned char *buf, int size) noexcept
 
std::ostream & operator<< (std::ostream &os, UNetSender::UItem &p)
 

Переменные

class uniset::LogSession __attribute__
 
const char BadSymbols [] = {'.', '/'}
 
const ObjectId DefaultObjectId = -1
 
const ThresholdId DefaultThresholdId = -1
 
const ThresholdId DefaultTimerId = -1
 
const ObjectId AdminID = -2
 
const long ChannelBreakValue = std::numeric_limits<long>::max()
 
const unsigned short SizeOfTransportMessage =85
 
const unsigned short SizeOfObjectType =30
 
static ComPort::Speed checkSpeed []
 
static uint16_t crc_16_tab []
 
static std::shared_ptr< Configurationuconf
 
static std::shared_ptr< DebugStream_ulog
 
static unsigned short crc_16_tab []
 
 NAME = os.path.basename(__file__).replace(".chart.py", "")
 
int update_every = 5
 
int priority = 90000
 
int retries = 10000
 
dictionary config = {}
 
 serv = Service(config,"test")
 

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

Определения базовых типов библиотеки UniSet (вспомогательные типы данных, константы, полезные функции)

Типы

◆ ByteOfMessage

typedef octet uniset::ByteOfMessage

тип для одного байта сообщения

◆ IDSeq

typedef sequence<ObjectId> uniset::IDSeq

Список идентификаторов

◆ KeyType

typedef size_t uniset::KeyType

уникальный ключ объекта

◆ ListObjectName

typedef std::list<std::string> uniset::ListObjectName

Список объектов типа ObjectName

◆ ObjectId

typedef long uniset::ObjectId

идентификатор объекта

◆ ObjectPtr

typedef CORBA::Object_ptr uniset::ObjectPtr

Ссылка на объект регистрируемый в ObjectRepository

◆ ObjectsList

typedef std::list< std::shared_ptr<UniSetObject> > uniset::ObjectsList

Список подчиненных объектов

◆ ObjectType

typedef string<SizeOfObjectType> uniset::ObjectType

тип объекта

◆ ObjectVar

typedef CORBA::Object_var uniset::ObjectVar

Ссылка на объект регистрируемый в ObjectRepository

◆ RawDataOfTransportMessage

typedef ByteOfMessage uniset::RawDataOfTransportMessage[SizeOfTransportMessage]

данные в сообщении

◆ ThresholdId

typedef long uniset::ThresholdId

идентификатор порога

◆ TimerId

typedef long uniset::TimerId

идентификатор таймера

Перечисления

◆ LampCommand

Команды для управления лампочками

Элементы перечислений
lmpOFF 

выключить

lmpON 

включить

lmpBLINK 

мигать

lmpBLINK2 

мигать

lmpBLINK3 

мигать

Функции

◆ BadSymbolsToStr()

string uniset::BadSymbolsToStr ( )

Получение запрещенных символов в виде строки '.', '/', и т.д.

◆ checkBadSymbols()

char uniset::checkBadSymbols ( const std::string &  str)

Проверка на наличие недопустимых символов Запрещенные символы см. uniset::BadSymbols[]

Возвращает
Если не найдено запрещенных символов то будет возвращен 0, иначе найденный символ

◆ dateToString()

string uniset::dateToString ( time_t  tm = time(0),
const std::string &  brk = "/" 
)
noexcept

Преобразование даты в строку DD/MM/YYYY

◆ explode()

uniset::IDList uniset::explode ( const std::string &  str,
char  sep = ',' 
)

Разбивка строки по указанному символу

◆ findArgParam()

int uniset::findArgParam ( const std::string &  name,
int  _argc,
const char *const *  _argv 
)
inline

Проверка наличия параметра в командной строке

Аргументы
name- название параметра
_argc- argc
_argv- argv
Возвращает
Возвращает -1, если параметр не найден. Или позицию параметра, если найден.
Предупреждения
Поиск ведётся с первого аргумента, а не с нулевого!

◆ getArg2Param()

std::string uniset::getArg2Param ( const std::string &  name,
int  _argc,
const char *const *  _argv,
const std::string &  defval,
const std::string &  defval2 = "" 
)
inlinenoexcept

получить значение, если пустое, то defval, если defval="" return defval2

◆ getArgParam()

std::string uniset::getArgParam ( const std::string &  name,
int  _argc,
const char *const *  _argv,
const std::string &  defval = "" 
)
inlinenoexcept

Получение параметра командной строки

Аргументы
name- название параметра
defval- значение, которое будет возвращено, если параметр не найден
Предупреждения
Поиск ведётся с первого аргумента, а не с нулевого!

◆ getObjectsList()

std::list<uniset::ConsumerInfo> uniset::getObjectsList ( const std::string &  s,
std::shared_ptr< uniset::Configuration conf = nullptr 
)

Функция разбора строки вида: id1,id2,... Если не указано, возвращается node=DefaultObjectId

◆ getSInfoList()

std::list<ParamSInfo> uniset::getSInfoList ( const std::string &  s,
std::shared_ptr< uniset::Configuration conf = nullptr 
)

Функция разбора строки вида: id1=val1,id2=val2,... Если '=' не указано, возвращается val=0 Если не указано, возвращается node=DefaultObjectId

◆ is_digit()

bool uniset::is_digit ( const std::string &  s)
noexcept

проверка является текст в строке - числом..

Предупреждения
Числом будет считаться только строка ПОЛНОСТЬЮ состоящая из чисел. Т.е. например "-10" или "100.0" или "10 000" - числом считаться не будут!

◆ key()

static KeyType uniset::key ( const uniset::ObjectId  id,
const uniset::ObjectId  node 
)
inlinestatic

генератор уникального положительного ключа Уникальность гарантируется только для пары значений id и node.

Предупреждения
что тут у нас с переполнением..
Уникальность генерируемого ключа еще не проверялась, но нареканий по использованию тоже не было :)

◆ now_to_timespec()

timespec uniset::now_to_timespec ( )

получение текущего времени

◆ replace_all()

std::string uniset::replace_all ( const std::string &  src,
const std::string &  from,
const std::string &  to 
)

замена всех вхождений подстроки

Аргументы
src- исходная строка
from- подстрока которая ищется (для замены)
to- строка на которую будет сделана замена

◆ timeToString()

string uniset::timeToString ( time_t  tm = time(0),
const std::string &  brk = ":" 
)
noexcept

Преобразование времени в строку HH:MM:SS

◆ to_timespec()

struct timespec uniset::to_timespec ( const std::chrono::system_clock::duration &  d)

конвертирование std::chrono в posix timespec

◆ to_timeval()

struct timeval uniset::to_timeval ( const std::chrono::system_clock::duration &  d)

конвертирование std::chrono в posix timeval

◆ ulog()

std::shared_ptr< DebugStream > uniset::ulog ( )
noexcept

Глобальный объект для вывода логов

◆ uni_atoi()

int uniset::uni_atoi ( const char *  str)
noexcept

Преобразование строки в число (воспринимает префикс 0, как 8-ное, префикс 0x, как 16-ное, минус для отриц. чисел)

◆ uniset_conf()

std::shared_ptr< Configuration > uniset::uniset_conf ( )
noexcept

Глобальный указатель на конфигурацию (singleton)

◆ uniset_init()

std::shared_ptr< Configuration > uniset::uniset_init ( int  argc,
const char *const *  argv,
const std::string &  xmlfile = "configure.xml" 
)

инициализация "глобальной" конфигурации

Переменные

◆ AdminID

const ObjectId uniset::AdminID = -2

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

◆ BadSymbols

const char uniset::BadSymbols[] = {'.', '/'}

Запрещенные для использования в именах объектов символы

◆ checkSpeed

ComPort::Speed uniset::checkSpeed[]
static
Инициализатор
=
{
ComPort::ComSpeed9600,
ComPort::ComSpeed19200,
ComPort::ComSpeed38400,
ComPort::ComSpeed57600,
ComPort::ComSpeed4800,
ComPort::ComSpeed115200,
ComPort::ComSpeed0
}

◆ DefaultObjectId

const ObjectId uniset::DefaultObjectId = -1

Идентификатор объекта по умолчанию

◆ DefaultThresholdId

const ThresholdId uniset::DefaultThresholdId = -1

идентификатор порогов по умолчанию

◆ DefaultTimerId

const ThresholdId uniset::DefaultTimerId = -1

идентификатор таймера по умолчанию