FLImaging 7.8.25.3
AutoFileCleaner.h
1#pragma once
2
10
11#include "DeviceBase.h"
12
13
15namespace FLImaging
16{
18 namespace Devices
19 {
20 class CInternalAutoFileCleaner;
21
29 class FL_EXPORT CAutoFileCleaner : public CDeviceBase
30 {
31 SupportToDuplicateObject(CAutoFileCleaner);
32
33 public:
42
48
54
63
74
86 virtual const CResult Assign(const CAutoFileCleaner& afc);
87
99 virtual const CResult Assign(const CAutoFileCleaner* pAfc);
100
122 virtual const CResult SetFileExpirationDays(int64_t i64Day, int64_t i64Hour = 0, int64_t i64Minute = 0);
123
141 virtual const CResult GetFileExpirationDays(int64_t* pI64Day, int64_t* pI64Hour = nullptr, int64_t* pI64Minute = nullptr);
142
152 virtual int64_t GetFileExpirationDays() const;
153
172
190 virtual const CResult GetLimitCapacity(double& f64Size, Foundation::ESizeUnit eUnit) const;
191
205 virtual const CResult SetLimitCapacityRatio(double f64Ratio);
206
220 virtual const CResult GetLimitCapacityRatio(double& f64Ratio) const;
221
235 virtual const CResult SetCheckInterval(int64_t i64CheckInterval);
236
246 virtual int64_t GetCheckInterval() const;
247
261 virtual const CResult SetLogging(bool bLogging);
262
272 virtual bool IsLogging() const;
273
287 virtual const CResult AddPath(const wchar_t* pWcharPath);
288
304 virtual const CResult GetPath(int64_t i64Index, Base::CFLString<wchar_t>& strPath) const;
305
321 virtual const CResult GetPath(int64_t i64Index, Base::CFLString<wchar_t>* pStrPath) const;
322
334 virtual const CResult ClearPath();
335
345 virtual int64_t GetPathCount() const;
346
356 virtual int64_t GetCumulativeDeletedFilesCount() const;
357
358 virtual const CResult Initialize() override;
359 virtual const CResult Terminate() override;
360 virtual bool CheckDeviceLibraries() const override;
361
363
364 DeclareGetClassType();
365
366 protected:
367 virtual void SendOnDeletedFile(Base::CFLString<wchar_t> strFullPath);
368
369 protected:
370 CInternalAutoFileCleaner* m_pInternalAutoFileCleaner;
371
372 friend class CInternalAutoFileCleaner;
373 };
374 }
375}
Template type string class.
Definition FLString.h:34
FLImaging module execution result object.
Definition ResultsDef.h:1704
virtual const CResult GetLimitCapacity(double &f64Size, Foundation::ESizeUnit eUnit) const
Gets the limit capacity at which file removal is executed.
virtual const CResult AddPath(const wchar_t *pWcharPath)
Sets the folder path where the file cleaner will be executed.
virtual ~CAutoFileCleaner()
Default destructor.
CAutoFileCleaner(const CAutoFileCleaner &afc)
virtual const CResult GetPath(int64_t i64Index, Base::CFLString< wchar_t > &strPath) const
Gets the folder path where the file cleaner is executed.
virtual const CResult Assign(const CAutoFileCleaner *pAfc)
virtual const CResult SetFileExpirationDays(int64_t i64Day, int64_t i64Hour=0, int64_t i64Minute=0)
Sets the expiration period to remove files that have expired since their creation....
virtual const CResult ClearPath()
Clears the folder paths added to the file cleaner.
virtual const CResult GetFileExpirationDays(int64_t *pI64Day, int64_t *pI64Hour=nullptr, int64_t *pI64Minute=nullptr)
Gets the specified expiration days, hours, and minutes.
virtual const CResult SetLogging(bool bLogging)
virtual const CResult Assign(const CAutoFileCleaner &afc)
virtual int64_t GetFileExpirationDays() const
Gets the specified expiration days.
virtual const CResult RegisterDeviceEvent(FLImaging::Devices::CDeviceEventBase *pDeviceEvent) override
Register an event object to receive device events.
virtual int64_t GetPathCount() const
Gets the number of folder paths added to the AutoFileCleaner.
virtual int64_t GetCheckInterval() const
Gets the time interval for executing the AutoFileCleaner.
CAutoFileCleaner()
Default constructor.
virtual const CResult SetLimitCapacityRatio(double f64Ratio)
Sets the limit capacity ratio for file removal. The range is from 0 to 1, and entering 1 means files ...
virtual const CResult SetLimitCapacity(double f64Size, Foundation::ESizeUnit eUnit=Foundation::ESizeUnit_Byte)
Sets the limit capacity for file removal. The CAutoFileCleaner removes the oldest files first when th...
virtual int64_t GetCumulativeDeletedFilesCount() const
Gets the cumulative number of files deleted by the AutoFileCleaner.
virtual const CResult GetPath(int64_t i64Index, Base::CFLString< wchar_t > *pStrPath) const
Gets the folder path where the file cleaner is executed.
virtual const CResult GetLimitCapacityRatio(double &f64Ratio) const
Gets the limit capacity ratio at which file removal is executed.
const CAutoFileCleaner & operator=(const CAutoFileCleaner &afc)
virtual const CResult Terminate() override
Terminate the device.
virtual const CResult SetCheckInterval(int64_t i64CheckInterval)
Sets the time interval to execute the AutoFileCleaner. It runs every time the specified milliseconds ...
virtual const CResult Initialize() override
Initialize the device.
CAutoFileCleaner(const CAutoFileCleaner *pAfc)
CDeviceBase()
Default constructor.
Device Event Base Class.
Definition DeviceEventBase.h:30
Definition AutoFileCleaner.h:19
ESizeUnit
Represents a unit of memory capacity.
Definition DefinitionsFoundation.h:27
@ ESizeUnit_Byte
Memory unit Byte.
Definition DefinitionsFoundation.h:34