2023-12-17 03:29:08 -08:00
|
|
|
#pragma once
|
|
|
|
|
2023-12-17 15:00:08 -08:00
|
|
|
#include "EHS.h"
|
|
|
|
#include "Str.h"
|
2023-12-17 03:29:08 -08:00
|
|
|
|
2023-12-17 15:56:13 -08:00
|
|
|
#define EHS_FE_NONE 0x00
|
|
|
|
#define EHS_FE_MODIFIED 0x01
|
|
|
|
#define EHS_FE_DELETED 0x02
|
|
|
|
#define EHS_FE_MOVED 0x04
|
|
|
|
#define EHS_FE_OPENED 0x08
|
2023-12-17 03:29:08 -08:00
|
|
|
|
2023-12-17 15:56:13 -08:00
|
|
|
namespace ehs
|
2023-12-17 03:29:08 -08:00
|
|
|
{
|
|
|
|
class BaseFileMonitor
|
|
|
|
{
|
|
|
|
protected:
|
|
|
|
Str_8 filePath;
|
|
|
|
|
|
|
|
public:
|
|
|
|
virtual ~BaseFileMonitor() = default;
|
|
|
|
|
|
|
|
BaseFileMonitor() = default;
|
|
|
|
|
|
|
|
BaseFileMonitor(Str_8 filePath);
|
|
|
|
|
|
|
|
BaseFileMonitor(BaseFileMonitor&& fm) noexcept;
|
|
|
|
|
|
|
|
BaseFileMonitor(const BaseFileMonitor& fm);
|
|
|
|
|
|
|
|
BaseFileMonitor& operator=(BaseFileMonitor&& fm) noexcept;
|
|
|
|
|
|
|
|
BaseFileMonitor& operator=(const BaseFileMonitor& fm);
|
|
|
|
|
|
|
|
virtual void Initialize() = 0;
|
|
|
|
|
|
|
|
virtual void Release() = 0;
|
|
|
|
|
|
|
|
virtual UInt_8 Poll() = 0;
|
|
|
|
|
|
|
|
Str_8 GetFilePath() const;
|
|
|
|
|
|
|
|
bool IsValid() const;
|
|
|
|
|
|
|
|
virtual bool IsInitialized() const = 0;
|
|
|
|
};
|
|
|
|
}
|