Класс поиска конвертеров. Подробнее...
#include <ilg_cpp_helpers.h>
Открытые члены | |
CConverterSearch () | |
Конструктор по умолчанию. | |
CConverterSearch (ilg_handle h) | |
Конструктор класса из дескриптора поиска конвертеров. Подробнее... | |
CConverterSearch (CConverterSearch &&other) | |
Конструктор перемещения. Подробнее... | |
virtual | ~CConverterSearch () |
Деструктор | |
CConverterSearch & | operator= (CConverterSearch &&other) |
Оператор перемещения | |
void | SetMessageCallback (ilg_search_message_callback pCallback, void *pUserData=nullptr) |
Устанавливает функцию обратного вызова для уведомлений поиска конвертеров. Подробнее... | |
void | EnableMessageQueue (bool fEnable=true) |
Включает/выключает очередь сообщений. Подробнее... | |
bool | GetMessage (ilg_search_msg &nMsg, const void *&pMsgData) const |
Извлекает следующее сообщение из очереди. Подробнее... | |
void | SetOptions (const ilg_search_options &rOptions) |
Устанавливает параметры поиска считывателей. Подробнее... | |
void | GetOptions (ilg_search_options &rOptions) const |
Возвращает параметры поиска считывателей. Подробнее... | |
void | SetListenPorts (const uint16_t *pPorts, size_t nCount) |
Устанавливает список портов для прослушки конвертеров к режиме "Клиент". Подробнее... | |
void | GetListenPorts (std::vector< uint16_t > &oPorts) const |
Возвращает список портов для прослушки конвертеров к режиме "Клиент". Подробнее... | |
ilg_status | GetListenStatus (uint16_t nTcpPort) const |
Возвращает состояние Tcp-порта, открытого для прослушки конвертеров в режиме "Клиент". Подробнее... | |
void | Scan (bool fReset=false) |
Ищет считыватели. Подробнее... | |
CAsyncCommand | Begin_Scan (bool fReset=false) |
Запускает асинхронную команду поиска считывателей. Подробнее... | |
size_t | GetConverterCount () const |
Возвращает количество найденных считывателей. Подробнее... | |
void | GetConverterInfo (size_t nIdx, ilg_converter_info &rInfo) const |
Возвращает информацию о найденном считывателе. Подробнее... | |
void | SetAutoScan (bool fEnable=true, bool fWait=true) |
Включает/выключает авто поиск считывателей. Подробнее... | |
CAsyncCommand | Begin_SetAutoScan (bool fEnable) |
Запускает асинхронную команду вкл/выкл режим авто поиска считывателей. Подробнее... | |
bool | GetAutoScan () const |
Возвращает флаг авто поиска считывателей. Подробнее... | |
int | OpenPort (ilg_port_type nPortType, const char *pszPortName, ilg_converter_info *pInfo=nullptr) |
Открывает порт и возвращает его дескриптор. Подробнее... | |
CAsyncCommand | Begin_OpenPort (ilg_port_type nPortType, const char *pszPortName) |
Запускает асинхронную команду открытия порта. Подробнее... | |
void | ClosePort (ilg_port_type nPortType, const char *pszPortName, int hPort) |
Закрывает порт Подробнее... | |
CAsyncCommand | Begin_ClosePort (ilg_port_type nPortType, const char *pszPortName, int hPortFD) |
Запускает асинхронную команду закрытия порта. Подробнее... | |
CConverterSearch | Clone () const |
Клонирует дескриптор поиска конвертеров. Подробнее... | |
![]() | |
CILGHandle () | |
Конструктор по умолчанию. | |
CILGHandle (ilg_handle h) | |
Конструктор из дескриптора SDK. Подробнее... | |
CILGHandle (const CILGHandle &)=delete | |
Запрещаем копирование этого класса (т.к. он содержит указатель = дескриптор). | |
CILGHandle (CILGHandle &&other) | |
Конструктор перемещения. Подробнее... | |
virtual | ~CILGHandle () |
Деструктор | |
CILGHandle & | operator= (const CILGHandle &)=delete |
Запрещаем копирование этого класса (т.к. он содержит указатель = дескриптор). | |
CILGHandle & | operator= (CILGHandle &&other) |
Оператор перемещения. Подробнее... | |
operator ilg_handle () const | |
Оператор приведения типа к ilg_handle. | |
operator bool () const | |
Проверяет дескриптор на валидность. | |
void | Swap (CILGHandle &other) noexcept |
Обменивается значением с другим дескриптором. Подробнее... | |
ilg_handle | Get () const |
Возвращает дескриптор SDK. | |
void | Close () |
Закрывает дескриптор SDK. Подробнее... | |
void | Attach (ilg_handle h) |
Присоединяет дескриптор к этому объекту. Подробнее... | |
ilg_handle | Detach () |
Отсоединяет дескриптор от этого объекту. Подробнее... | |
Открытые статические члены | |
static void | End_OpenPort (ilg_handle hCommand, int &PortFD, ilg_converter_info &rInfo) |
Возвращает результат открытия порта. Подробнее... | |
Дополнительные унаследованные члены | |
![]() | |
ilg_handle | m_h |
Дескриптор SDK. | |
Класс поиска конвертеров.
Класс-обёртка для дескриптора поиска конвертеров.
ilg::CConverterSearch::CConverterSearch | ( | ilg_handle | h | ) |
Конструктор класса из дескриптора поиска конвертеров.
[in] | h | Значение дескриптора SDK. |
ilg::CConverterSearch::CConverterSearch | ( | CConverterSearch && | other | ) |
Конструктор перемещения.
[in,out] | other | Другой поиск конвертеров. |
|
inline |
Запускает асинхронную команду закрытия порта.
[in] | nPortType | Тип порта |
[in] | pszPortName | Имя порта |
[in] | hPortFD | Системный дескриптор порта. |
CILGException | если произошла ошибка `ILG_E_HANDLE`, `ILG_E_OUTOFMEMORY`, ILG_E_OUT_OF_RESOURCES . |
|
inline |
Запускает асинхронную команду открытия порта.
[in] | nPortType | Тип порта. |
[in] | pszPortName | Имя порта. |
CILGException | если произошла ошибка `ILG_E_INVALIDARG`, `ILG_E_HANDLE`, ILG_E_OUTOFMEMORY , ILG_E_OUT_OF_RESOURCES . |
|
inline |
Запускает асинхронную команду поиска считывателей.
[in] | fReset | =true очистить список найденных перед поиском. |
CILGException | если произошла ошибка `ILG_E_HANDLE`, ILG_E_OUT_OF_RESOURCES , ILG_E_OUTOFMEMORY . |
|
inline |
Запускает асинхронную команду вкл/выкл режим авто поиска считывателей.
[in] | fEnable | =true включает поиск в реальном времени, иначе - выключает. |
CILGException | если произошла ошибка `ILG_E_HANDLE`, `ILG_E_OUTOFMEMORY`, ILG_E_OUT_OF_RESOURCES . |
|
inline |
Клонирует дескриптор поиска конвертеров.
|
inline |
Закрывает порт
[in] | nPortType | Тип порта. |
[in] | pszPortName | Имя порта. |
[in] | hPort | Системный дескриптор порта. |
CILGException | если произошла ошибка `ILG_E_HANDLE`, ILG_E_BLOCKING_CALL_NOT_ALLOWED , ILG_E_OUTOFMEMORY , ILG_E_OUT_OF_RESOURCES . |
|
inline |
Включает/выключает очередь сообщений.
Эта функция устанавливает/снимает флаг в дескрипторе поиска. Очередь сообщений предназначена для синхронизации обработки сообщений.
[in] | fEnable | true , включить очередь, иначе - выключить. |
CILGException(ILG_E_HANDLE) | если дескриптор неправильный. |
|
inlinestatic |
Возвращает результат открытия порта.
[in] | hCommand | Дескриптор команды. |
[out] | PortFD | Системный дескриптор порта. |
[out] | rInfo | Информация о конвертере (если известно). |
CILGException(ILG_E_HANDLE) | если дескриптор неправильный. |
|
inline |
Возвращает флаг авто поиска считывателей.
CILGException(ILG_E_HANDLE) | если дескриптор неправильный. |
|
inline |
Возвращает количество найденных считывателей.
CILGException | если произошла ошибка `ILG_E_HANDLE`, `ILG_E_OUTOFMEMORY`. |
|
inline |
Возвращает информацию о найденном считывателе.
[in] | nIdx | Позиция в списке найденных считывателей. |
[out] | rInfo | Информация о считывателе. |
CILGException | если произошла ошибка `ILG_E_HANDLE`, `ILG_E_BOUNDS`. |
void ilg::CConverterSearch::GetListenPorts | ( | std::vector< uint16_t > & | oPorts | ) | const |
Возвращает список портов для прослушки конвертеров к режиме "Клиент".
Возвращает список TCP-портов, который был установлен функцией SetListenPorts.
[in,out] | oPorts | Список портов. |
CILGException | если произошла ошибка `ILG_E_HANDLE`, `ILG_E_OUTOFMEMORY`. |
|
inline |
Возвращает состояние Tcp-порта, открытого для прослушки конвертеров в режиме "Клиент".
[in] | nTcpPort | Номер TCP порта. |
pOptions->nConverterTypes |= ILG_CONVERTER_CLIENT
).ILG_OK
порт открыт успешно, ILG_E_PENDING
порт в процессе открытия или его нет в списке портов для прослушки, иначе не удалось открыть.
|
inline |
Извлекает следующее сообщение из очереди.
[out] | nMsg | Тип сообщения. |
[out] | pMsgData | Указатель на данные пользователя, которые были установлены функцией SetMessageCallback. |
CILGException(ILG_E_HANDLE) | если дескриптор неправильный. |
|
inline |
Возвращает параметры поиска считывателей.
[out] | rOptions | Опции поиска считывателей. |
CILGException(ILG_E_HANDLE) | если дескриптор неправильный. |
|
inline |
Открывает порт и возвращает его дескриптор.
[in] | nPortType | Тип порта. |
[in] | pszPortName | Имя порта. |
[out] | pInfo | Информация о считывателе. Может быть равно nullptr . |
CILGException | если произошла ошибка `ILG_E_INVALIDARG`, `ILG_E_HANDLE`, ILG_E_BLOCKING_CALL_NOT_ALLOWED , ILG_E_OUTOFMEMORY , ILG_E_OUT_OF_RESOURCES , ILG_E_PORT_ACCESS_DENIED , ILG_E_PORT_NOT_EXIST , ILG_E_PORT_OPEN_FAILED , ILG_E_CONNECTION_ERROR , ILG_E_NOTIMPL . |
|
inline |
Ищет считыватели.
[in] | fReset | =true очищает список найденных считывателей перед началом поиска. |
CILGException | если произошла ошибка `ILG_E_HANDLE`, ILG_E_BLOCKING_CALL_NOT_ALLOWED , ILG_E_OUT_OF_RESOURCES , ILG_E_OUTOFMEMORY . |
|
inline |
Включает/выключает авто поиск считывателей.
[in] | fEnable | =true , включает авто поиск, иначе - выключает. |
[in] | fWait | =true , ждёт полного завершения команды, иначе только устанавливает флаг. |
fWait
=true
, то функция не возвращает управление пока ждёт выполнение команды в потоке поиска считывателей.CILGException | если произошла ошибка `ILG_E_HANDLE`, ILG_E_BLOCKING_CALL_NOT_ALLOWED , ILG_E_OUTOFMEMORY , ILG_E_OUT_OF_RESOURCES . |
|
inline |
Устанавливает список портов для прослушки конвертеров к режиме "Клиент".
Устанавливает список TCP-портов, к которым будут подключаться IP-конвертеры в режиме "Клиент".
[in] | pPorts | Массив портов. Если =nullptr , то очищает список. |
[in] | nCount | Количество элементов массива портов. |
CILGException | если произошла ошибка `ILG_E_HANDLE`, `ILG_E_INVALIDARG`, ILG_E_OUTOFMEMORY . |
|
inline |
Устанавливает функцию обратного вызова для уведомлений поиска конвертеров.
Устанавливает функцию для получения сообщений от дескриптора поиска конвертеров.
[in] | pCallback | Указатель на функцию, которую библиотека будет вызывать при возникновении события поиска конвертеров. |
[in] | pUserData | Указатель на данные пользователя, который будет передаваться в функцию. |
try catch
. Нельзя из callback-функции вызывать функции, которые ждут выполнение команды в потоке, из которого вызвана эта callback-функция, иначе будет ошибка ILG_E_BLOCKING_CALL_NOT_ALLOWED
.CILGException(ILG_E_HANDLE) | если дескриптор неправильный. |
|
inline |
Устанавливает параметры поиска считывателей.
[in] | rOptions | Опции поиска считывателей. |
CILGException(ILG_E_HANDLE) | если дескриптор неправильный. |