Класс поиска считывателей. Подробнее...
#include <ilr_cpp_helpers.h>
Открытые члены | |
CReaderSearch () | |
Конструктор по умолчанию. | |
CReaderSearch (ilr_handle h) | |
Конструктор класса из дескриптора поиска считывателей. Подробнее... | |
CReaderSearch (CReaderSearch &&other) | |
Конструктор перемещения. Подробнее... | |
virtual | ~CReaderSearch () |
Деструктор | |
CReaderSearch & | operator= (CReaderSearch &&other) |
Оператор перемещения | |
void | SetMessageCallback (ilr_search_message_callback pCallback, void *pUserData=nullptr) |
Устанавливает функцию обратного вызова для уведомлений поиска считывателей. Подробнее... | |
void | EnableMessageQueue (bool fEnable=true) |
Включает/выключает очередь сообщений. Подробнее... | |
bool | GetMessage (ilr_search_msg &nMsg, const void *&pMsgData) const |
Извлекает следующее сообщение из очереди. Подробнее... | |
void | SetOptions (const ilr_search_options &rOptions) |
Устанавливает параметры поиска считывателей. Подробнее... | |
void | GetOptions (ilr_search_options &rOptions) const |
Возвращает параметры поиска считывателей. Подробнее... | |
void | SetListenPorts (const uint16_t *pPorts, size_t nCount) |
Устанавливает список портов для прослушки конвертеров к режиме "Клиент". Подробнее... | |
void | GetListenPorts (std::vector< uint16_t > &oPorts) const |
Возвращает список портов для прослушки конвертеров к режиме "Клиент". Подробнее... | |
ilr_status | GetListenStatus (uint16_t nTcpPort) const |
Возвращает состояние Tcp-порта, открытого для прослушки конвертеров в режиме "Клиент". Подробнее... | |
void | Scan (bool fReset=false) |
Ищет считыватели. Подробнее... | |
CAsyncCommand | Begin_Scan (bool fReset=false) |
Запускает асинхронную команду поиска считывателей. Подробнее... | |
size_t | GetReaderCount () const |
Возвращает количество найденных считывателей. Подробнее... | |
void | GetReaderInfo (size_t nIdx, ilr_reader_info &rInfo) const |
Возвращает информацию о найденном считывателе. Подробнее... | |
void | SetAutoScan (bool fEnable=true, bool fWait=true) |
Включает/выключает авто поиск считывателей. Подробнее... | |
CAsyncCommand | Begin_SetAutoScan (bool fEnable) |
Запускает асинхронную команду вкл/выкл режим авто поиска считывателей. Подробнее... | |
bool | GetAutoScan () const |
Возвращает флаг авто поиска считывателей. Подробнее... | |
int | OpenPort (ilr_port_type nPortType, const char *pszPortName, ilr_reader_info *pInfo=nullptr) |
Открывает порт и возвращает его дескриптор. Подробнее... | |
CAsyncCommand | Begin_OpenPort (ilr_port_type nPortType, const char *pszPortName) |
Запускает асинхронную команду открытия порта. Подробнее... | |
void | ClosePort (ilr_port_type nPortType, const char *pszPortName, int hPort) |
Закрывает порт Подробнее... | |
CAsyncCommand | Begin_ClosePort (ilr_port_type nPortType, const char *pszPortName, int hPortFD) |
Запускает асинхронную команду закрытия порта. Подробнее... | |
CReaderSearch | Clone () const |
Клонирует дескриптор поиска считывателей. Подробнее... | |
![]() | |
CILRHandle () | |
Конструктор по умолчанию. | |
CILRHandle (ilr_handle h) | |
Конструктор из дескриптора SDK. Подробнее... | |
CILRHandle (const CILRHandle &)=delete | |
Запрещаем копирование этого класса (т.к. он содержит указатель = дескриптор). | |
CILRHandle (CILRHandle &&other) | |
Конструктор перемещения. Подробнее... | |
virtual | ~CILRHandle () |
Деструктор | |
CILRHandle & | operator= (const CILRHandle &)=delete |
Запрещаем копирование этого класса (т.к. он содержит указатель = дескриптор). | |
CILRHandle & | operator= (CILRHandle &&other) |
Оператор перемещения. Подробнее... | |
operator ilr_handle () const | |
Оператор приведения типа к ilr_handle. | |
operator bool () const | |
Проверяет дескриптор на валидность. | |
void | Swap (CILRHandle &other) noexcept |
Обменивается значением с другим дескриптором. Подробнее... | |
ilr_handle | Get () const |
Возвращает дескриптор SDK. | |
void | Close () |
Закрывает дескриптор SDK. Подробнее... | |
void | Attach (ilr_handle h) |
Присоединяет дескриптор к этому объекту. Подробнее... | |
ilr_handle | Detach () |
Отсоединяет дескриптор от этого объекту. Подробнее... | |
Открытые статические члены | |
static void | End_OpenPort (ilr_handle hCommand, int &PortFD, ilr_reader_info &rInfo) |
Возвращает результат открытия порта. Подробнее... | |
Дополнительные унаследованные члены | |
![]() | |
ilr_handle | m_h |
Дескриптор SDK. | |
Класс поиска считывателей.
Класс-обёртка для дескриптора поиска считывателей.
ilr::CReaderSearch::CReaderSearch | ( | ilr_handle | h | ) |
Конструктор класса из дескриптора поиска считывателей.
[in] | h | Значение дескриптора SDK. |
ilr::CReaderSearch::CReaderSearch | ( | CReaderSearch && | other | ) |
Конструктор перемещения.
[in,out] | other | Другой поиск считывателей. |
|
inline |
Запускает асинхронную команду закрытия порта.
[in] | nPortType | Тип порта |
[in] | pszPortName | Имя порта |
[in] | hPortFD | Системный дескриптор порта. |
CILRException | если произошла ошибка `ILR_E_HANDLE`, `ILR_E_OUTOFMEMORY`, ILR_E_OUT_OF_RESOURCES . |
|
inline |
Запускает асинхронную команду открытия порта.
[in] | nPortType | Тип порта. |
[in] | pszPortName | Имя порта. |
CILRException | если произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY , ILR_E_OUT_OF_RESOURCES . |
|
inline |
Запускает асинхронную команду поиска считывателей.
[in] | fReset | =true очистить список найденных перед поиском. |
CILRException | если произошла ошибка `ILR_E_HANDLE`, ILR_E_OUT_OF_RESOURCES , ILR_E_OUTOFMEMORY . |
|
inline |
Запускает асинхронную команду вкл/выкл режим авто поиска считывателей.
[in] | fEnable | =true включает поиск в реальном времени, иначе - выключает. |
CILRException | если произошла ошибка `ILR_E_HANDLE`, `ILR_E_OUTOFMEMORY`, ILR_E_OUT_OF_RESOURCES . |
|
inline |
Клонирует дескриптор поиска считывателей.
|
inline |
Закрывает порт
[in] | nPortType | Тип порта. |
[in] | pszPortName | Имя порта. |
[in] | hPort | Системный дескриптор порта. |
CILRException | если произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED , ILR_E_OUTOFMEMORY , ILR_E_OUT_OF_RESOURCES . |
|
inline |
Включает/выключает очередь сообщений.
Эта функция устанавливает/снимает флаг в дескрипторе поиска. Очередь сообщений предназначена для синхронизации обработки сообщений.
[in] | fEnable | =true , включает очередь, иначе - выключает. |
CILRException(ILR_E_HANDLE) | если дескриптор неправильный. |
|
inlinestatic |
Возвращает результат открытия порта.
[in] | hCommand | Дескриптор команды. |
[out] | PortFD | Системный дескриптор порта. |
[out] | rInfo | Информация о конвертере (если известно). |
CILRException(ILR_E_HANDLE) | если дескриптор неправильный. |
|
inline |
Возвращает флаг авто поиска считывателей.
CILRException(ILR_E_HANDLE) | если дескриптор неправильный. |
void ilr::CReaderSearch::GetListenPorts | ( | std::vector< uint16_t > & | oPorts | ) | const |
Возвращает список портов для прослушки конвертеров к режиме "Клиент".
Возвращает список TCP-портов, который был установлен функцией SetListenPorts.
[in,out] | oPorts | Список портов. |
CILRException | если произошла ошибка `ILR_E_HANDLE`, `ILR_E_OUTOFMEMORY`. |
|
inline |
Возвращает состояние Tcp-порта, открытого для прослушки конвертеров в режиме "Клиент".
[in] | nTcpPort | Номер TCP порта. |
ILR_OK
порт открыт успешно, ILR_E_PENDING
порт в процессе открытия или его нет в списке портов для прослушки, иначе не удалось открыть.
|
inline |
Извлекает следующее сообщение из очереди.
[out] | nMsg | Тип сообщения. |
[out] | pMsgData | Указатель на данные пользователя, которые были установлены функцией SetMessageCallback. |
CILRException(ILR_E_HANDLE) | если дескриптор неправильный. |
|
inline |
Возвращает параметры поиска считывателей.
[out] | rOptions | Опции поиска считывателей. |
CILRException(ILR_E_HANDLE) | если дескриптор неправильный. |
|
inline |
Возвращает количество найденных считывателей.
CILRException | если произошла ошибка `ILR_E_HANDLE`, `ILR_E_OUTOFMEMORY`. |
|
inline |
Возвращает информацию о найденном считывателе.
[in] | nIdx | Позиция в списке найденных считывателей. |
[out] | rInfo | Информация о считывателе. |
CILRException | если произошла ошибка `ILR_E_HANDLE`, `ILR_E_BOUNDS`. |
|
inline |
Открывает порт и возвращает его дескриптор.
[in] | nPortType | Тип порта. |
[in] | pszPortName | Имя порта. |
[out] | pInfo | Информация о считывателе. Может быть равно nullptr . |
CILRException | если произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED , ILR_E_OUTOFMEMORY , ILR_E_OUT_OF_RESOURCES , ILR_E_PORT_ACCESS_DENIED , ILR_E_PORT_NOT_EXIST , ILR_E_PORT_OPEN_FAILED , ILR_E_CONNECTION_ERROR , ILR_E_NOTIMPL . |
|
inline |
Ищет считыватели.
[in] | fReset | =true очищает список найденных считывателей перед началом поиска. |
CILRException | если произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED , ILR_E_OUT_OF_RESOURCES , ILR_E_OUTOFMEMORY . |
|
inline |
Включает/выключает авто поиск считывателей.
[in] | fEnable | =true , включает авто поиск, иначе - выключает. |
[in] | fWait | =true , ждёт полного завершения команды, иначе только устанавливает флаг. |
fWait
=true
, то функция не возвращает управление пока ждёт выполнение команды в потоке поиска считывателей.CILRException | если произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED , ILR_E_OUTOFMEMORY , ILR_E_OUT_OF_RESOURCES . |
|
inline |
Устанавливает список портов для прослушки конвертеров к режиме "Клиент".
Устанавливает список TCP-портов, к которым будут подключаться IP-конвертеры в режиме "Клиент".
[in] | pPorts | Массив портов. Если =nullptr , то очищает список. |
[in] | nCount | Количество элементов массива портов. |
CILRException | если произошла ошибка `ILR_E_HANDLE`, `ILR_E_INVALIDARG`, ILR_E_OUTOFMEMORY . |
|
inline |
Устанавливает функцию обратного вызова для уведомлений поиска считывателей.
Устанавливает функцию для получения сообщений от дескриптора поиска считывателей.
[in] | pCallback | Указатель на функцию, которую библиотека будет вызывать при возникновении события поиска считывателей. |
[in] | pUserData | Указатель на данные пользователя, который будет передаваться в функцию. |
try catch
. Нельзя из callback-функции вызывать функции, которые ждут выполнение команды в потоке, из которого вызвана эта callback-функция, иначе будет ошибка ILR_E_BLOCKING_CALL_NOT_ALLOWED
.CILRException(ILR_E_HANDLE) | если дескриптор неправильный. |
|
inline |
Устанавливает параметры поиска считывателей.
[in] | rOptions | Опции поиска считывателей. |
CILRException(ILR_E_HANDLE) | если дескриптор неправильный. |