Демонстрирует поиск конвертеров.
#include <fstream>
#include <iomanip>
#include <iostream>
#define ILG_LOG_FILE
using namespace ilg;
#ifdef ILG_LOG
const char kLogLevelChars[] = {'-', 'E', 'W', 'I', 'D'};
const char kLogFileName[] = "ilguard.log";
#if 1
std::fstream file(kLogFileName, std::ios_base::out | std::ios_base::app);
auto& out = file;
#else
auto& out = std::cout;
#endif
auto t = std::time(nullptr);
auto tmb = std::localtime(&t);
out << std::put_time(tmb, "%d-%m-%Y %H:%M:%S") << " [" << kLogLevelChars[level] << ' '
<< pContext << "] " << pMessage << std::endl;
}
#endif
int main() {
std::cout <<
"Версия SDK: " <<
SdkVersionToStr(CILG::GetVersion()) << std::endl;
try {
#ifdef ILG_LOG
#ifdef ILG_LOG_FILE
std::ofstream file(kLogFileName, std::ios_base::out | std::ios_base::trunc);
file.close();
#endif
CILG::SetLogCallback(LogCallback);
#endif
#if 0
oSearch.GetOptions(rOptions);
oSearch.SetOptions(rOptions);
const uint16_t aListenPorts[] = {25000};
oSearch.SetListenPorts(aListenPorts, std::size(aListenPorts));
#endif
std::cout << "Поиск конвертеров..." << std::endl;
oSearch.Scan();
auto nCount = oSearch.GetConverterCount();
if (nCount != 0) {
std::cout << "Найдено " << nCount << ':' << std::endl;
for (size_t i = 0; i < nCount; i++) {
oSearch.GetConverterInfo(i, rInfo);
std::stringstream ss;
ss << kConverterModelNames[rInfo.
nModel];
ss <<
" с/н:" << rInfo.
nSn;
ss <<
" прошивка:" <<
VersionToStr(rInfo.
nFwVersion);
ss <<
" режим: " << kConverterModeNames[rInfo.
nMode];
std::cout << 1 + i <<
". " << rInfo.
pszPortName <<
": " << ss.str() << std::endl;
}
}
else
std::cout << "Конвертеры не найдены" << std::endl;
}
catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
Класс поиска конвертеров.
Definition: ilg_cpp_helpers.h:265
Класс для инициализации/финализации библиотеки SDK.
Definition: ilg_cpp_helpers.h:3425
CConverterSearch GetSearch()
Создаёт дескриптор поиска конвертеров.
Definition: ilg_cpp_helpers.h:3575
@ ILG_CONVERTER_ILUSB
Definition: ilguard.h:625
@ ILG_CONVERTER_SERVER
Definition: ilguard.h:632
@ ILG_CONVERTER_CLIENT
Definition: ilguard.h:634
Заголовочный файл SDK Guard с классами-помощниками C++.
Заголовочный файл API SDK Guard.
#define ILG_CALL
Макрос, определяющий соглашение о вызове функций.
Definition: ilguard.h:68
@ ILG_CONVERTER_MODE_UNKNOWN
Definition: ilguard.h:327
ilg_log_level
Уровень лога.
Definition: ilguard.h:434
@ ILG_LOG_LEVEL_DEBUG
Отладочные сообщения.
Definition: ilguard.h:464
@ ILG_CONVERTER_MODEL_UNKNOWN
Definition: ilguard.h:287
Информация о конвертере.
Definition: ilguard.h:527
const char * pszPortName
Definition: ilguard.h:531
int64_t nFwBuildDate
Definition: ilguard.h:545
ilg_converter_model nModel
Definition: ilguard.h:536
ilg_converter_mode nMode
Definition: ilguard.h:547
uint32_t nFwVersion
Definition: ilguard.h:542
int nSn
Definition: ilguard.h:538
Настройки поиска конвертеров.
Definition: ilguard.h:641
uint32_t nConverterTypes
Definition: ilguard.h:646