xref: /openbmc/phosphor-ipmi-flash/cleanup/fs.hpp (revision 80748c33a6ce139c7c3147c1baefe61674b80966)
1*9efef5d9SPatrick Venture #pragma once
2*9efef5d9SPatrick Venture 
3*9efef5d9SPatrick Venture #include <string>
4*9efef5d9SPatrick Venture 
5*9efef5d9SPatrick Venture namespace ipmi_flash
6*9efef5d9SPatrick Venture {
7*9efef5d9SPatrick Venture 
8*9efef5d9SPatrick Venture class FileSystemInterface
9*9efef5d9SPatrick Venture {
10*9efef5d9SPatrick Venture   public:
11*9efef5d9SPatrick Venture     virtual ~FileSystemInterface() = default;
12*9efef5d9SPatrick Venture 
13*9efef5d9SPatrick Venture     virtual void remove(const std::string& path) const = 0;
14*9efef5d9SPatrick Venture };
15*9efef5d9SPatrick Venture 
16*9efef5d9SPatrick Venture class FileSystem : public FileSystemInterface
17*9efef5d9SPatrick Venture {
18*9efef5d9SPatrick Venture   public:
19*9efef5d9SPatrick Venture     FileSystem() = default;
20*9efef5d9SPatrick Venture 
21*9efef5d9SPatrick Venture     void remove(const std::string& path) const override;
22*9efef5d9SPatrick Venture };
23*9efef5d9SPatrick Venture 
24*9efef5d9SPatrick Venture } // namespace ipmi_flash
25