#ifndef RESOURCEFILE_H #define RESOURCEFILE_H #include #include #include #include "ResType.h" #include "ResourceFork.h" class ResourceFile { public: enum class Format { autodetect, #ifdef __APPLE__ real, #endif macbin, diskimage, basilisk, applesingle, underscore_appledouble, percent_appledouble }; bool read(std::string path, Format f = Format::autodetect); bool write(std::string path, Format f = Format::autodetect); bool read(std::istream& in, Format f); bool write(std::ostream& in, Format f); static bool hasPlainDataFork(Format f); bool hasPlainDataFork(); Format getFormat() { return format; } static bool isSingleFork(Format f); ResType type; ResType creator; Resources resources; std::string data; private: bool assign(std::string path, Format f = Format::autodetect); bool read(); bool write(); std::string pathstring; std::string filename; Format format = Format::autodetect; }; #endif // RESOURCEFILE_H