Porytiles
Loading...
Searching...
No Matches
compile_secondary_tileset.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4
5#include "gsl/pointers"
6
16
17namespace porytiles {
18
26 public:
38 gsl::not_null<const TilesetRepo *> tileset_repo,
39 gsl::not_null<const TilesetCompiler *> compiler,
40 gsl::not_null<const TilesetMetadataProvider *> metadata_provider,
41 gsl::not_null<const LayoutMetadataProvider *> layout_metadata_provider,
42 gsl::not_null<const PorytilesTilesetManager *> tileset_manager,
43 gsl::not_null<const DomainConfig *> domain_config,
44 gsl::not_null<const AppConfig *> app_config,
45 gsl::not_null<const UserDiagnostics *> diag)
46 : tileset_repo_{tileset_repo}, compiler_{compiler}, metadata_provider_{metadata_provider},
47 layout_metadata_provider_{layout_metadata_provider}, tileset_manager_{tileset_manager},
48 domain_config_{domain_config}, app_config_{app_config}, diag_{diag}
49 {
50 }
51
62 [[nodiscard]] ChainableResult<void> compile(const std::string &tileset_name) const;
63
64 private:
65 const TilesetRepo *tileset_repo_;
66 const TilesetCompiler *compiler_;
67 const TilesetMetadataProvider *metadata_provider_;
68 const LayoutMetadataProvider *layout_metadata_provider_;
69 const PorytilesTilesetManager *tileset_manager_;
70 const DomainConfig *domain_config_;
71 const AppConfig *app_config_;
72 const UserDiagnostics *diag_;
73};
74
75} // 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 compiling a secondary Tileset.
CompileSecondaryTileset(gsl::not_null< const TilesetRepo * > tileset_repo, gsl::not_null< const TilesetCompiler * > compiler, gsl::not_null< const TilesetMetadataProvider * > metadata_provider, gsl::not_null< const LayoutMetadataProvider * > layout_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)
Constructs a CompileSecondaryTileset use case with the given repositories and services.
ChainableResult< void > compile(const std::string &tileset_name) const
Compiles the secondary Tileset with the given tileset name.
Interface that defines a complete domain layer configuration.
Abstract interface for querying layout metadata by name.
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.