#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 //{ // string pcd_name; // pcl::PointCloud::Ptr pcd; //} PcdParam; typedef struct { int nIndex; queue* imgQ; } ThreadParamSave; //typedef struct //{ // int nIndex; // queue* pcdQ; // //} ThreadParamSavePcd; typedef struct { string folder; int store_days; bool* state; } ThreadParamClean; int WINAPI TheadFuncClearn(LPVOID lpParam); int WINAPI TheadFuncSave(LPVOID lpParam); //int WINAPI TheadFuncSavePcd(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(); //int saveBinPly(pcl::PointCloud::Ptr pcd, string name_id); protected: int m_storeDays; string m_storeDir; bool is_valid_folder(); HANDLE m_workHandle; HANDLE m_workHandleSave; //HANDLE m_workHandleSavePcd; queue m_images; //queue m_pcds; }; //};