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 symmetricCrypt( const string &mess, const string &keySet, const string &secPolicy, bool encrypt ); — Симетричне шифрування за encrypt або дешифрування потоку повідомлення mess ключем keySet для політики secPolicy.
- static string symmetricSign( const string &mess, const string &keySet, const string &secPolicy ); — Отримання симетричного підпису ключем keySet для повідомлення mess та політики secPolicy.