From OpenSCADAWiki
Jump to: navigation, search

Корневой объект протокола OPC-UA (UA)

Публичные методы:

  • virtual string lang2CodeSYS( ); — Двух-символьный код языка окружения.
  • virtual void debugMess( const string &mess ) — Размещение отладочных сообщений.
  • virtual uint32_t rcvBufSz( ); — Размер буфера приёмника, больше 8192.
  • virtual uint32_t sndBufSz( ); — Размер буфера передатчика, больше 8192.
  • virtual uint32_t msgMaxSz( ); — Максимальный размер сообщения, 0 для отсутствия ограничения.
  • virtual uint32_t chunkMaxCnt( ); — Максимальное количество кусков, 0 для отсутствия ограничения.
  • static string iErr( const string &buf, int &off ); — Чтение ошибки из потока buf по смещению off.
  • static const char *iVal( const string &buf, int &off, char vSz ); — Чтение значения размером vSz из потока buf по смещению off, как участок данных.
  • static int64_t iN( const string &rb, int &off, char vSz ); — Чтение знакового целого размером vSz (1, 2, 4, 8) из потока rb по смещению off.
  • static uint64_t iNu( const string &rb, int &off, char vSz ); — Чтение беззнакового целого размером vSz (1, 2, 4, 8) из потока rb по смещению off.
  • static double iR( const string &rb, int &off, char vSz = 4 ); — Чтение вещественного размером vSz (4, 8) из потока rb по смещению off.
  • static string iS( const string &buf, int &off ); — Чтение строки из потока buf по смещению off.
  • static string iSl( const string &buf, int &off, string *locale = NULL ); — Чтение локализованной locale строки из потока buf по смещению off.
  • static string iSqlf( const string &buf, int &off, uint16_t *nsIdx = NULL ); — Чтение строки с квалификатором nsIdx из потока buf по смещению off.
  • static int64_t iTm( const string &buf, int &off ); — Чтение времени из потока buf по смещению off, с преобразованием в эпоху UNIX.
  • static NodeId iNodeId( const string &buf, int &off ); — Чтение идентификатора узла из потока buf по смещению off.
  • static string iVariant( const string &buf, int &off, uint8_t *tp = NULL ); — Чтение типа вариант из потока buf по смещению off, возвращает вариант в строковом виде для типа tp.
  • static void iDataValue( const string &buf, int &off, XML_N &nVal ); — Чтение комплексного значения (структура DataValue) в nVal из потока buf по смещению off.
  • static void oN( string &buf, int64_t val, char sz, int off = -1 ); — Запись знакового целого val размером sz (1, 2, 4, 8) в поток buf по смещению off.
  • static void oNu( string &buf, uint64_t val, char sz, int off = -1 ); — Запись беззнакового целого val размером sz (1, 2, 4, 8) в поток buf по смещению off.
  • static void oR( string &buf, double val, char sz = 4 ); — Запись вещественного val размером sz (4, 8) в поток buf по смещению off.
  • static void oS( string &buf, const string &val, int off = -1 ); — Запись строки val в поток buf по смещению off.
  • static void oSl( string &buf, const string &val, const string &locale = "" ); — Запись локализованной locale строки val в поток buf по смещению off.
  • static void oSqlf( string &buf, const string &val, uint16_t nsIdx = 0 ); — Запись строки val с квалификатором nsIdx в поток buf по смещению off.
  • static void oTm( string &buf, int64_t val ); — Запись времени val (в эпохе UNIX) в поток buf по смещению off.
  • static void oNodeId( string &buf, const NodeId &val ); — Запись идентификатора узла val в поток buf по смещению off.
  • static void oRef( string &buf, uint32_t resMask, const NodeId &nodeId, const NodeId &refTypeId, bool isForward, const string &name, uint32_t nodeClass, const NodeId &typeDef ); — Запись в поток buf описателя обзора (структура ReferenceDescription) для маски результата resMask, узла nodeId, типа ссылки refTypeId, направления isForward, имени name, класса узла nodeClass, типа определения typeDef.
  • void oDataValue( string &buf, uint8_t eMsk, const string &vl, uint8_t vEMsk = 0, int64_t srcTmStmp = 0 ); — Запись комплексного значения (структура DataValue) в поток buf для маски кодирования eMsk, значения vl, маски значения vEMsk, времени источника srcTmStmp.
  • static string randBytes( int num ); — Генерация потока случайных данных в количестве num.
  • static string certPEM2DER( const string &certPem ); — Преобразование сертификата из формата PEM certPem в формат DER.
  • static string certDER2PEM( const string &certDer ); — Преобразование сертификата из формата DER certDer в формат PEM.
  • static string certThumbprint( const string &certPem ); — Получение подписи из сертификата PEM certPem.
  • static string asymmetricEncrypt( const string &mess, const string &certPem, const string &secPolicy ); — асимметричное кодирование потока сообщения mess сертификатом certPem (открытым ключом) для политики secPolicy.
  • static string asymmetricDecrypt( const string &mess, const string &pvKeyPem, const string &secPolicy ); — Асимметричное декодирование потока сообщения mess ключом pvKeyPem для политики secPolicy.
  • static bool asymmetricVerify( const string &mess, const string &sign, const string &certPem ); — Асимметричная верификация подписи sign сообщения mess сертификатом certPem.
  • static string asymmetricSign( const string &mess, const string &pvPem ); — Получение асимметричной подписи закрытым ключом сертификата pvPem для сообщения mess.
  • static int asymmetricKeyLength( const string &keyCertPem ); — Получение длины ключа сертификата keyCertPem.
  • static string deriveKey( const string &secret, const string &seed, int keyLen ); — Извлечение ключа размером keyLen из секрета secret и seed.
  • static string symmetricEncrypt( const string &mess, const string &keySet, const string &secPolicy ); — Симметричное шифрование потока сообщения mess ключом keySet для политики secPolicy.
  • static string symmetricDecrypt( const string &mess, const string &keySet, const string &secPolicy ); — Асимметричное дешифрование потока сообщения mess ключом keySet для политики secPolicy.
  • static string symmetricSign( const string &mess, const string &keySet, const string &secPolicy ); — Получение симметричной подписи ключом keySet для сообщения mess и политики secPolicy.