From OpenSCADAWiki
Корневой объект протокола 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.