Cleaner.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #pragma once
  2. #include <iostream>
  3. #include <map>
  4. #include <time.h>
  5. #include <dirent.h>
  6. #include <time.h>
  7. #include <cstdlib>
  8. #include <dirent.h>
  9. #include <sys/types.h>
  10. #include <sys/stat.h>
  11. #include <unistd.h>
  12. #include "Util/logger.h"
  13. #include "Util/NoticeCenter.h"
  14. #include "Util/SqlPool.h"
  15. #include "Network/TcpClient.h"
  16. #include "Poller/Timer.h"
  17. // opencv
  18. #include <opencv2/core.hpp>
  19. #include <opencv2/videoio.hpp>
  20. #include <opencv2/highgui.hpp>
  21. #include <opencv2/imgproc.hpp>
  22. #include <opencv2/imgproc/types_c.h>
  23. #include "Util/logger.h"
  24. #include <cstdlib>
  25. #include "recorder.h"
  26. using namespace toolkit;
  27. using namespace std;
  28. namespace MIVA
  29. {
  30. class Cleaner
  31. {
  32. public:
  33. using Ptr = std::shared_ptr<Cleaner>;
  34. int ClearType = 1; // 清理类型 0 - 不清除记录
  35. // 1 - 超过设定阈值就删除第一个,保持不超过阈值
  36. // 2 - 超过设定阈值,直接删除全部记录
  37. // 3 - 设定时间,如只保留前多少小时的数据
  38. int recordMax = 100;
  39. int validTime = 1; // 有效时间 时间单位 天
  40. public:
  41. Cleaner();
  42. ~Cleaner();
  43. /**
  44. * @description: 单例
  45. * @param {*}
  46. * @return {*}
  47. */
  48. static std::shared_ptr<Cleaner> CreateNew();
  49. /**
  50. * @description: 清除历史记录
  51. * @param {*}
  52. * @return {*}
  53. */
  54. int32_t ClearHistory();
  55. protected:
  56. int rmDir(std::string file_name);
  57. };
  58. } // namespace MIVA