#ifndef FILEBASE_H #define FILEBASE_H #include enum FileOperType { TYPE_LOCAL, TYPE_REMOTE }; class CFileBase { public: CFileBase(); virtual ~CFileBase(); public: virtual bool Open(const char* filename) = 0; public: static std::shared_ptr Instance(FileOperType type); }; #endif // FILEBASE_H