#pragma once #include "xtr\core\SelectableSet.h" #include "xtr\doc\FileVersions.hpp" #include "xtr\io\SerializationManager.hpp" #include "ccl\semantic\RSForm.h" std::vector GetFilesIn(const CString directory); CString LocalPathToGlobal(CString local); class MockArchive { std::unique_ptr file{ nullptr }; std::unique_ptr archive{ nullptr }; public: MockArchive() = default; ~MockArchive(); public: xtr::io::CArchiveAdapter GenerateAdapter() noexcept; bool LoadFile(CString path, bool toEdit = false); void CloseFile(); }; struct MockRSFormDoc : public xtr::io::MFCSerializable { xtr::TRSVersion version{ xtr::TRSVersion::old }; std::unique_ptr schema{ std::make_unique() }; SetOfEntities selection{}; bool isClaimed{ false }; MockRSFormDoc() = default; bool LoadFrom(CString path); bool SaveTo(CString path); JSON ExtractData() const override; bool LoadData(const JSON& object) override; bool LegacyLoad(xtr::io::CArchiveAdapter& archive) override; }; struct MockRSModelDoc : public xtr::io::MFCSerializable { xtr::RSMVersion version{ xtr::RSMVersion::old }; std::unique_ptr model{ std::make_unique() }; SetOfEntities selection{}; MockRSModelDoc() = default; bool LoadFrom(CString path); bool SaveTo(CString path); JSON ExtractData() const override; bool LoadData(const JSON& object) override; bool LegacyLoad(xtr::io::CArchiveAdapter& archive) override; }; struct MockOSSDoc : public xtr::io::MFCSerializable { xtr::OSSVersion version{ xtr::OSSVersion::old }; std::unique_ptr oss{ std::make_unique() }; ccl::oss::PictID selection{ 0 }; MockOSSDoc() = default; bool LoadFrom(CString path); bool SaveTo(CString path); JSON ExtractData() const override; bool LoadData(const JSON& object) override; bool LegacyLoad(xtr::io::CArchiveAdapter& archive) override; };