#ifndef MVS_SDK_MANAGER_H #define MVS_SDK_MANAGER_H #include #include /** * @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 m_refCount; bool m_bSDKInitialized; }; #endif // MVS_SDK_MANAGER_H