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

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

namespace  ModbusTCPCore

Классы

class  LimitTimers
class  CallbackTimer
 Таймер Подробнее...
class  EvWatcher
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  DBInterface
class  DBNetInterface
class  DBResult
struct  DBInterfaceDeleter
class  DBServer
class  DelayTimer
class  EventLoopServer
 The EventLoopServer class Реализация общей части всех процессов использующих libev. Содержит свой (динамический) eventloop;. Подробнее...
class  Exception
class  OutOfRange
class  ORepFailed
class  SystemError
class  CommFailed
class  TimeOut
class  ResolveNameError
class  NSResolveError
class  ObjectNameAlready
class  IOBadParam
class  InvalidObjectName
class  NameNotFound
class  Calibration
class  DigitalFilter
struct  IOBase
class  PID
class  SingleProcess
class  SMInterface
class  HourGlass
class  IOController
class  IONotifyController
class  IORFile
class  LogAgregator
class  LogReader
class  LogServer
class  LogSession
class  LT_Object
class  Message
class  VoidMessage
class  SensorMessage
class  SystemMessage
class  TimerMessage
class  ConfirmMessage
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  uniset_rwmutex
class  uniset_rwmutex_wrlock
class  uniset_rwmutex_rlock
class  NCRestorer
class  NCRestorer_XML
 Реализация сохранения списка заказчиков в xml. Данный класс работает с глобальным xml-файлом проекта (обычно configure.xml), поэтому НЕ реализаует функции записи (dump)-а. Подробнее...
class  ObjectIndex
class  ObjectIndex_Array
class  ObjectIndex_idXML
class  ObjectIndex_XML
class  ObjectRepository
class  OmniThreadCreator
class  PassiveObject
class  UniSetTimer
 Базовый интерфейс пасивных таймеров Подробнее...
class  PassiveTimer
 Пассивный таймер Подробнее...
class  PassiveCondTimer
 Пассивный таймер с режимом засыпания (ожидания) Подробнее...
class  ProxyManager
class  Pulse
class  Restorer_XML
class  RunLock
class  SMonitor
class  SViewer
class  TCPCheck
class  ThreadCreator
class  Trigger
class  TriggerAND
class  TriggerOR
class  TriggerOUT
class  UDPSocketU
class  UDPReceiveU
class  UInterface
class  UniSetActivator
class  UniSetManager
class  UniSetObject
class  IDList
struct  ObjectInfo
struct  ParamSInfo
class  UniXML_iterator
class  UniXML
class  USocket
class  UTCPSocket
class  UTCPStream
class  VMonitor
class  WDTInterface
struct  TransportMessage
struct  NodeInfo
struct  SimpleInfo
struct  ConsumerInfo
class  DBServer_MySQL
class  MySQLInterface
class  DBServer_PostgreSQL
 The DBServer_PostgreSQL class Реализация работы с PostgreSQL. Подробнее...
class  PostgreSQLInterface
class  DBServer_SQLite
class  SQLiteInterface
class  ComediInterface
class  CardList
class  IOControl
class  LogicException
class  Element
class  TOR
class  TAND
class  TNOT
class  LProcessor
class  PassiveLProcessor
class  Schema
class  SchemaXML
class  TDelay
struct  DataGuard
class  MBExchange
class  MBTCPMaster
class  MBTCPMultiMaster
class  RTUExchange
class  RTUStorage
class  MBSlave
class  MQTTPublisher
class  RRDServer
class  SharedMemory
class  UNetExchange
class  UNetReceiver
class  UNetSender
class  UniExchange
class  Service

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

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 = "/" 
)

Преобразование даты в строку 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 = "" 
)
inline

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

Аргументы
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)

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

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

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

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

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

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 = ":" 
)

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

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

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

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

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

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

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

int uniset::uni_atoi ( const char *  str)

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

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

Глобальный указатель на конфигурацию (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

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