#pragma once
#include <string>
#include "CCameraBase.h"
#include "CManageDB.h"

#ifdef MANAGE_CAMERA_EXPORTS
#define MANAGE_CAMERA_DLL_API __declspec(dllexport)
#else
#define MANAGE_CAMERA_DLL_API //__declspec(dllimport)
#endif

enum CameraType {
	HIKCamera = 0,
};

using namespace ns_db;
class MANAGE_CAMERA_DLL_API CCameraManage
{
public:
	static CCameraManage* GetInstance();
	static void releaseInstance();
	CCameraBase* GetCamera(INT iCameraId);
	long GetCameraList(vector<CameraInfo>& vecCamera);

private:
	static CCameraManage* m_pCameraManage;

	bool m_bIsInitSuccess;

	vector<CCameraBase*> m_vetCameras;
public:
	CCameraManage();
	~CCameraManage();

};