#pragma once #include #include #include #include //using namespace cv; using namespace std; //namespace graft_cv //{ typedef struct { string img_name; cv::Mat image; } ImgParam; typedef struct { int nIndex; queue* imgQ; } ThreadParamSave; typedef struct { string folder; int store_days; bool* state; } ThreadParamClean; int WINAPI TheadFuncClearn(LPVOID lpParam); int WINAPI TheadFuncSave(LPVOID lpParam); void getFiles( string path, vector& files, time_t clean_time); class CImStoreManager{ public: CImStoreManager(); ~CImStoreManager(); // return 0--ok, 1--failed(not exists) int setStoreDir(string& folder); void getStoreDir(string& folder); void setStoreDays(int days); //saveImage() return 0--ok, 1 -- invalid image or folder int saveImage(cv::Mat&img,string name_id); void restart_start_worker(); protected: int m_storeDays; string m_storeDir; bool is_valid_folder(); HANDLE m_workHandle; HANDLE m_workHandleSave; queue m_images; }; //};