SDK Guard 1.0.1
SDK для связи с сетевыми контроллерами Iron logic
Файл ilg_cpp_helpers.h

Заголовочный файл SDK Guard с классами-помощниками C++. Подробнее...

#include <chrono>
#include <exception>
#include <string>
#include <vector>
#include "ilguard.h"
Граф включаемых заголовочных файлов для ilg_cpp_helpers.h:

См. исходные тексты.

Классы

class  ilg::CILGException
 Класс исключения SDK Guard. Подробнее...
 
class  ilg::CKeyNumber
 Ключ контроллера. Подробнее...
 
class  ilg::CILGHandle
 Класс дескриптора SDK. Подробнее...
 
class  ilg::CAsyncCommand
 Класс команды SDK. Подробнее...
 
class  ilg::CConverterSearch
 Класс поиска конвертеров. Подробнее...
 
class  ilg::CController
 Класс контроллера. Подробнее...
 
class  ilg::CConverter
 Класс конвертера. Подробнее...
 
class  ilg::CILG
 Класс для инициализации/финализации библиотеки SDK. Подробнее...
 

Макросы

#define GET_BIT(val, bitN)   (bool)((val >> (bitN)) & 1)
 Возвращает true если бит bitN установлен в числе val. Подробнее...
 
#define SET_BIT(val, bitN, On)    { (On) ? ((val) |= (1 << (bitN))) : ((val) &= ~(1 << (bitN))); }
 Устанавливает/снимает бит bitN в числе val. Подробнее...
 

Функции

void ilg::ILGCheck (ilg_status nCode)
 Бросает исключение если код возврата является ошибкой. Подробнее...
 
std::chrono::steady_clock::time_point ilg::now ()
 
template<class result_t = std::chrono::milliseconds, class clock_t = std::chrono::steady_clock, class duration_t = std::chrono::milliseconds>
auto ilg::since (std::chrono::time_point< clock_t, duration_t > const &start)
 Возвращает интервал времени в миллисекундах от времени start до текущего времени. Подробнее...
 
std::string ilg::SdkVersionToStr (uint32_t nVersion)
 Преобразует версию Sdk Readers в строку. Подробнее...
 
std::string ilg::VersionToStr (uint32_t nVersion)
 Преобразует версию конвертера/контроллера в строку. Подробнее...
 
std::string ilg::TimeToStr (const int64_t &tTime)
 Преобразует время в строку. Подробнее...
 
std::string ilg::KeyNumberToStr (const ilg_key_number &rNumber, uint32_t nKeyFlags, bool fWiegand)
 Преобразует номер ключа в строку. Подробнее...
 
bool ilg::TryStrToKeyNum (const char *pStr, ilg_key_number *pNumber, uint8_t *pKeyFlags)
 
std::string ilg::KeybCodeToStr (const ilg_key_number &rNumber, int nDualIdx=-1, char chError='_')
 Преобразует номер ключа в строку с кодом клавиатуры. Подробнее...
 
bool ilg::TryParseKeybCodeStr (const char *pStr, ilg_key_number *pNumber)
 Пытается преобразовать строку с кодом клавиатуры в номер ключа. Подробнее...
 

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

Заголовочный файл SDK Guard с классами-помощниками C++.

Классы-обертки для функций библиотеки из ilguard.h, и вспомогательными функциями для разработчиков.

Макросы

◆ GET_BIT

#define GET_BIT (   val,
  bitN 
)    (bool)((val >> (bitN)) & 1)

Возвращает true если бит bitN установлен в числе val.

Аргументы
[in]valЧисло, в котором проверяется бит.
[in]bitNНомер бита (отсчёт от 0).
Примеры
controller_schedule/main.cpp.

◆ SET_BIT

#define SET_BIT (   val,
  bitN,
  On 
)     { (On) ? ((val) |= (1 << (bitN))) : ((val) &= ~(1 << (bitN))); }

Устанавливает/снимает бит bitN в числе val.

Аргументы
[in]valЧисло, в котором изменяется бит.
[in]bitNНомер бита (отсчёт от 0).
[in]Ontrue, установить бит, иначе - снять.
Примеры
controller_schedule/main.cpp.

Функции

◆ ILGCheck()

void ilg::ILGCheck ( ilg_status  nCode)

Бросает исключение если код возврата является ошибкой.

Проверяет код возврата SDK и если код соответствует ошибке вызывает исключение CILGException.

Аргументы
[in]nCodeКод возврата.
Исключения
CILGExceptionКод возврата не равен `ILG_OK`.

◆ KeybCodeToStr()

std::string ilg::KeybCodeToStr ( const ilg_key_number rNumber,
int  nDualIdx = -1,
char  chError = '_' 
)

Преобразует номер ключа в строку с кодом клавиатуры.

Аргументы
[in]rNumberНомер ключа.
[in]nDualIdxНомер двойного номера: 0 первый двойной номер, 1 второй, -1 номер не двойной, использовать весь номер.
[in]chErrorСимвол, на который заменяется некорректная цифра кода клавиатуры.
Возвращает
Строка с кодом клавиатуры.

◆ KeyNumberToStr()

std::string ilg::KeyNumberToStr ( const ilg_key_number rNumber,
uint32_t  nKeyFlags,
bool  fWiegand 
)

Преобразует номер ключа в строку.

Аргументы
[in]rNumberНомер ключа.
[in]nKeyFlagsФлаги ключа.
[in]fWiegandtrue, преобразуется в формат Em-Marine, иначе Dallas.
Возвращает
Строку с номером ключа.

◆ now()

std::chrono::steady_clock::time_point ilg::now ( )
inline

Возвращает текущее время.

Примеры
controller_events/main.cpp, controller_keys/main.cpp, controller_lock/main.cpp и controller_schedule/main.cpp.

◆ SdkVersionToStr()

std::string ilg::SdkVersionToStr ( uint32_t  nVersion)

Преобразует версию Sdk Readers в строку.

Аргументы
[in]nVersionВерсия SDK.
Примеры
enum_converters/main.cpp.

◆ since()

template<class result_t = std::chrono::milliseconds, class clock_t = std::chrono::steady_clock, class duration_t = std::chrono::milliseconds>
auto ilg::since ( std::chrono::time_point< clock_t, duration_t > const &  start)
inline

Возвращает интервал времени в миллисекундах от времени start до текущего времени.

Аргументы
[in]startНачальное время.
Примеры
controller_events/main.cpp, controller_keys/main.cpp, controller_lock/main.cpp и controller_schedule/main.cpp.

◆ TimeToStr()

std::string ilg::TimeToStr ( const int64_t &  tTime)

Преобразует время в строку.

Аргументы
[in]tTimeВремя.

◆ TryParseKeybCodeStr()

bool ilg::TryParseKeybCodeStr ( const char *  pStr,
ilg_key_number pNumber 
)

Пытается преобразовать строку с кодом клавиатуры в номер ключа.

Аргументы
[in]pStrСтрока.
[out]pNumberНомер ключа.
Возвращает
true, преобразование выполнено успешно.

◆ TryStrToKeyNum()

bool ilg::TryStrToKeyNum ( const char *  pStr,
ilg_key_number pNumber,
uint8_t *  pKeyFlags 
)

Пытается преобразовать строку в номер ключа.

Аргументы
[in]pStrСтрока.
[out]pNumberНомер ключа.
[out]pKeyFlagsФлаги ключа.
Возвращает
true, преобразование выполнено успешно.

◆ VersionToStr()

std::string ilg::VersionToStr ( uint32_t  nVersion)

Преобразует версию конвертера/контроллера в строку.

Аргументы
[in]nVersionВерсия конвертера/контроллера.
Примеры
connect_to_converter/main.cpp, controller_detector/main.cpp, controller_events/main.cpp, controller_keys/main.cpp, controller_lock/main.cpp, controller_schedule/main.cpp, converter_detector/main.cpp, enum_controllers/main.cpp и enum_converters/main.cpp.