2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-02-11 10:03:02 +00:00

Parse game and block commands

This commit is contained in:
Jan
2021-02-19 10:03:34 +01:00
parent 2747e1f0f2
commit 1264be4274
11 changed files with 177 additions and 5 deletions

View File

@@ -13,9 +13,18 @@ class InMemoryRepository final : public IDataRepository
std::vector<StructureInformation*> m_structures_information;
std::vector<FastFileBlock*> m_fast_file_blocks;
std::map<std::string, DataDefinition*> m_data_definitions_by_name;
std::map<std::string, EnumMember*> m_enum_members_by_name;
std::map<DefinitionWithMembers*, StructureInformation*> m_structure_information_by_definition;
std::string m_game_name;
public:
InMemoryRepository() = default;
~InMemoryRepository() override;
InMemoryRepository(const InMemoryRepository& other) = delete;
InMemoryRepository(InMemoryRepository&& other) noexcept = default;
InMemoryRepository& operator=(const InMemoryRepository& other) = delete;
InMemoryRepository& operator=(InMemoryRepository&& other) noexcept = default;
void Add(std::unique_ptr<EnumDefinition> enumsDefinition) override;
void Add(std::unique_ptr<StructDefinition> structDefinition) override;
void Add(std::unique_ptr<UnionDefinition> unionDefinition) override;
@@ -23,6 +32,9 @@ public:
void Add(std::unique_ptr<StructureInformation> structureInformation) override;
void Add(std::unique_ptr<FastFileBlock> fastFileBlock) override;
_NODISCARD const std::string& GetGameName() const override;
void SetGame(std::string gameName) override;
_NODISCARD const std::vector<EnumDefinition*>& GetAllEnums() const override;
_NODISCARD const std::vector<StructDefinition*>& GetAllStructs() const override;
_NODISCARD const std::vector<UnionDefinition*>& GetAllUnions() const override;
@@ -32,4 +44,5 @@ public:
_NODISCARD DataDefinition* GetDataDefinitionByName(const std::string& name) const override;
_NODISCARD StructureInformation* GetInformationFor(DefinitionWithMembers* definitionWithMembers) const override;
_NODISCARD EnumMember* GetEnumMemberByName(const std::string& name) const override;
};