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

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

 ModbusTCPCore
 

Классы

class  Calibration
 
singleton  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  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  HourGlass
 
class  IDList
 
class  InvalidObjectName
 
class  IOBadParam
 
struct  IOBase
 
class  IOControl
 
class  IOController
 
class  IONotifyController
 
class  IORFile
 
class  LimitTimers
 
class  LogAgregator
 
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
 
class  NCRestorer
 
class  NCRestorer_XML
 Реализация сохранения списка заказчиков в xml. Данный класс работает с глобальным xml-файлом проекта (обычно configure.xml), поэтому НЕ реализаует функции записи (dump)-а. Подробнее...
 
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  Restorer_XML
 
class  RRDServer
 
class  RTUExchange
 
class  RTUStorage
 
class  RunLock
 
class  Schema
 
class  SchemaXML
 
class  SensorMessage
 
class  Service
 
class  SharedMemory
 
struct  SimpleInfo
 
class  SingleProcess
 
class  SMInterface
 
class  SMonitor
 
class  SQLiteInterface
 
class  SViewer
 
class  SystemError
 
class  SystemMessage
 
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
< DBInterface
create_dbinterface_t ()
 
typedef std::shared_ptr
< uniset::VoidMessage
VoidMessagePtr
 
typedef Poco::Timespan::TimeDiff timeout_t
 
typedef std::shared_ptr
< UniSetActivator
UniSetActivatorPtr
 
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::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)
 
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
 
int getArgInt (const std::string &name, int _argc, const char *const *_argv, const std::string &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
 
template<typename InputIterator , typename OutputIterator , typename Predicate >
OutputIterator copy_if (InputIterator begin, InputIterator end, OutputIterator destBegin, Predicate p)
 
static int get_crc_16 (uint16_t crc, uint8_t *buf, size_t size)
 
std::ostream & operator<< (std::ostream &os, LogAgregator &la)
 
std::ostream & operator<< (std::ostream &os, std::shared_ptr< LogAgregator > la)
 
void terminate_thread ()
 
ostream & operator<< (ostream &os, UniSetObject &obj)
 
static std::string makeSecName (const std::string &sec, const std::string &name) noexcept
 
std::ostream & operator<< (std::ostream &os, VMonitor &m)
 
std::ostream & operator<< (std::ostream &os, 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)
 
std::ostream & operator<< (std::ostream &os, MBExchange::RTUDeviceMap &m)
 
std::ostream & operator<< (std::ostream &os, MBExchange::RTUDevice &d)
 
std::ostream & operator<< (std::ostream &os, MBExchange::RegInfo *r)
 
std::ostream & operator<< (std::ostream &os, 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::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)
 

Переменные

static const int DefaultSubdev = -1
 
static const int DefaultChannel = -1
 
static const int NoSafety = -1
 
class uniset::LogSession __attribute__
 
const ObjectId DefaultObjectId = -1
 
const ThresholdId DefaultThresholdId = -1
 
const ThresholdId DefaultTimerId = -1
 
const ObjectId AdminID = -2
 
static const long ChannelBreakValue = std::numeric_limits<long>::max()
 
const char BadSymbols [] = {'.', '/'}
 
const unsigned short SizeOfTransportMessage =160
 
const unsigned short SizeOfObjectType =30
 
static ComPort::Speed checkSpeed []
 
static uint16_t crc_16_tab []
 
static shared_ptr< Configurationuconf
 
static std::shared_ptr
< DebugStream
_ulog = nullptr
 
static std::atomic_bool procterm
 
static std::atomic_bool doneterm
 
static SingleProcessgMain = NULL
 
static const int TERMINATE_TIMEOUT = 2
 
static unsigned short crc_16_tab []
 
tuple NAME = os.path.basename(__file__)
 
int update_every = 5
 
int priority = 90000
 
int retries = 10000
 
dictionary config = {}
 
tuple serv = Service(config,"test")
 

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

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

Типы

typedef octet uniset::ByteOfMessage

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

typedef sequence<ObjectId> uniset::IDSeq

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

typedef size_t uniset::KeyType

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

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

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

typedef long uniset::ObjectId

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

typedef CORBA::Object_ptr uniset::ObjectPtr

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

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

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

typedef string<SizeOfObjectType> uniset::ObjectType

тип объекта

typedef CORBA::Object_var uniset::ObjectVar

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

typedef ByteOfMessage uniset::RawDataOfTransportMessage[SizeOfTransportMessage]

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

typedef long uniset::ThresholdId

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

typedef long uniset::TimerId

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

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

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

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

выключить

lmpON 

включить

lmpBLINK 

мигать

lmpBLINK2 

мигать

lmpBLINK3 

мигать

Функции

template<typename InputIterator , typename OutputIterator , typename Predicate >
OutputIterator uniset::copy_if ( InputIterator  begin,
InputIterator  end,
OutputIterator  destBegin,
Predicate  p 
)

алгоритм копирования элементов последовательности удовлетворяющих условию

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

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

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

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

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

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

Аргументы
name- название параметра
_argc- argc
_argv- argv
Возвращает
Возвращает -1, если параметр не найден. Или позицию параметра, если найден.
std::string uniset::getArgParam ( const std::string &  name,
int  _argc,
const char *const *  _argv,
const std::string &  defval = "" 
)
inlinenoexcept

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

Аргументы
name- название параметра
defval- значение, которое будет возвращено, если параметр не найден
std::list<uniset::ConsumerInfo> uniset::getObjectsList ( const std::string &  s,
std::shared_ptr< uniset::Configuration conf = nullptr 
)

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

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

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

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

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

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

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

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

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

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

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

Аргументы
src- исходная строка
from- подстрока которая ищется (для замены)
to- строка на которую будет сделана замена
string uniset::timeToString ( time_t  tm = time(0),
const std::string &  brk = ":" 
)
noexcept

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

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

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

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

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

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

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

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

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

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

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

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

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

Переменные

const ObjectId uniset::AdminID = -2

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

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

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

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

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

const ThresholdId uniset::DefaultThresholdId = -1

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

const ThresholdId uniset::DefaultTimerId = -1

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

std::atomic_bool uniset::procterm
static

замок для блокирования совместного доступа к функции обрабтки сигналов