#include "ANSMOT.h" static bool ansmotLicenceValid = false; // Global once_flag to protect license checking static std::once_flag ansmotLicenseOnceFlag; namespace ANSCENTER { static void VerifyGlobalANSMOTLicense(const std::string& licenseKey) { try { ansmotLicenceValid = ANSCENTER::ANSLicenseHelper::LicenseVerification(licenseKey, 1002, "ODHUB-LV"); if (!ansmotLicenceValid) { ansmotLicenceValid = ANSCENTER::ANSLicenseHelper::LicenseVerification(licenseKey, 1007, "ANSCV"); } } catch (std::exception& e) { ansmotLicenceValid = false; } } void ANSMOT::CheckLicense() { try { // Check once globally std::call_once(ansmotLicenseOnceFlag, [this]() { VerifyGlobalANSMOTLicense(_licenseKey); }); // Update this instance's local license flag _licenseValid = ansmotLicenceValid; } catch (const std::exception& e) { this->_logger.LogFatal("ANSMOT::CheckLicense. Error:", e.what(), __FILE__, __LINE__); } } bool ANSMOT::UpdateParameters(const std::string& trackerParameters) { return true; } std::string ANSMOT::Update(int modelId, const std::string& detectionData) { return "";} std::vector ANSMOT::UpdateTracker(int modelId, const std::vector& detectionObjects) { return std::vector(); } ANSMOT::~ANSMOT() { } }