#include #include #include HikDevicelistCache::HikDevicelistCache() { std::memset(&m_deviceInfoList, 0, sizeof(m_deviceInfoList)); std::memset(&m_gentlIfInfoList, 0, sizeof(m_gentlIfInfoList)); } MV_CC_DEVICE_INFO_LIST HikDevicelistCache::getDeviceInfoList() const { QMutexLocker locker(&m_mutex); if (!m_deviceInfoListScanned) { MV_CC_DEVICE_INFO_LIST scannedList{}; if (MV_CC_EnumDevices(MV_GIGE_DEVICE | MV_USB_DEVICE, &scannedList) == MV_OK) { m_deviceInfoList = scannedList; } m_deviceInfoListScanned = true; } return m_deviceInfoList; } MV_GENTL_IF_INFO_LIST HikDevicelistCache::getGentlIfInfoList() const { QMutexLocker locker(&m_mutex); return m_gentlIfInfoList; } void HikDevicelistCache::setDeviceInfoList(const MV_CC_DEVICE_INFO_LIST& deviceInfoList) { QMutexLocker locker(&m_mutex); m_deviceInfoList = deviceInfoList; m_deviceInfoListScanned = true; } void HikDevicelistCache::setGentlIfInfoList(const MV_GENTL_IF_INFO_LIST& gentlIfInfoList) { QMutexLocker locker(&m_mutex); m_gentlIfInfoList = gentlIfInfoList; } HikDevicelistCache& appHikDeviceListCache() { static HikDevicelistCache cache; return cache; }