Porytiles
Loading...
Searching...
No Matches
decompile_primary_tileset.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4
5#include "gsl/pointers"
6
15
16namespace porytiles {
17
22 public:
24 gsl::not_null<const TilesetRepo *> tileset_repo,
25 gsl::not_null<const PrimaryTilesetDecompiler *> decompiler,
26 gsl::not_null<const TilesetCompiler *> compiler,
27 gsl::not_null<const TilesetMetadataProvider *> metadata_provider,
28 gsl::not_null<const PorytilesTilesetManager *> tileset_manager,
29 gsl::not_null<const DomainConfig *> domain_config,
30 gsl::not_null<const AppConfig *> app_config,
31 gsl::not_null<const UserDiagnostics *> diag)
32 : tileset_repo_{tileset_repo}, decompiler_{decompiler}, compiler_{compiler},
33 metadata_provider_{metadata_provider}, tileset_manager_{tileset_manager}, domain_config_{domain_config},
34 app_config_{app_config}, diag_{diag}
35 {
36 }
37
44 [[nodiscard]] ChainableResult<void> decompile(const std::string &tileset_name) const;
45
46 private:
47 const TilesetRepo *tileset_repo_;
48 const PrimaryTilesetDecompiler *decompiler_;
49 const TilesetCompiler *compiler_;
50 const TilesetMetadataProvider *metadata_provider_;
51 const PorytilesTilesetManager *tileset_manager_;
52 const DomainConfig *domain_config_;
53 const AppConfig *app_config_;
54 const UserDiagnostics *diag_;
55};
56
57} // namespace porytiles
Interface that defines a complete app layer configuration.
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Use case for decompiling a primary Tileset.
DecompilePrimaryTileset(gsl::not_null< const TilesetRepo * > tileset_repo, gsl::not_null< const PrimaryTilesetDecompiler * > decompiler, gsl::not_null< const TilesetCompiler * > compiler, gsl::not_null< const TilesetMetadataProvider * > metadata_provider, gsl::not_null< const PorytilesTilesetManager * > tileset_manager, gsl::not_null< const DomainConfig * > domain_config, gsl::not_null< const AppConfig * > app_config, gsl::not_null< const UserDiagnostics * > diag)
ChainableResult< void > decompile(const std::string &tileset_name) const
Decompiles the primary Tileset with the given tileset name.
Interface that defines a complete domain layer configuration.
Abstract interface for querying Porytiles tileset ownership.
Service that compiles a Tileset (primary or secondary).
Abstract interface for querying tileset metadata by name.
Repository interface for the Tileset aggregate root.
Abstract class for structured error reporting and diagnostic output.