#pragma once #include "Str.h" namespace ehs { class BaseOpen { protected: Str_8 filePath; public: BaseOpen(); BaseOpen(Str_8 filePath); BaseOpen(BaseOpen&& bo) noexcept; BaseOpen(const BaseOpen& bo); BaseOpen& operator=(BaseOpen&& bo) noexcept; BaseOpen& operator=(const BaseOpen& bo); virtual void Initialize() = 0; virtual void Release() = 0; virtual void* Retrieve(Str_8 symbol) = 0; Str_8 GetFilePath() const; virtual bool IsInitialize() const = 0; }; }