GrabBag/Device/MvsDevice/_Inc/MvsSDKManager.h

37 lines
802 B
C
Raw Normal View History

2026-06-08 17:36:13 +08:00
#ifndef MVS_SDK_MANAGER_H
#define MVS_SDK_MANAGER_H
#include <mutex>
#include <atomic>
/**
* @brief MvsSDKManager
*
* MVS SDK IMvsDevice
* MV_CC_Initialize / MV_CC_Finalize
*/
class MvsSDKManager
{
public:
static MvsSDKManager& GetInstance();
int InitSDK();
int UninitSDK();
bool IsSDKInitialized() const;
int GetRefCount() const;
private:
MvsSDKManager();
~MvsSDKManager();
MvsSDKManager(const MvsSDKManager&) = delete;
MvsSDKManager& operator=(const MvsSDKManager&) = delete;
std::mutex m_mutex;
std::atomic<int> m_refCount;
bool m_bSDKInitialized;
};
#endif // MVS_SDK_MANAGER_H