Porytiles
Loading...
Searching...
No Matches
base_game_detector.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <filesystem>
4
5#include "gsl/pointers"
6
11
12namespace porytiles {
13
30 public:
32 std::filesystem::path project_root,
33 gsl::not_null<const TextFormatter *> format,
34 gsl::not_null<const UserDiagnostics *> diag)
35 : project_root_{std::move(project_root)}, format_{format}, diag_{diag}
36 {
37 }
38
48 [[nodiscard]] ChainableResult<BaseGame> detect() const;
49
50 private:
51 std::filesystem::path project_root_;
52 const TextFormatter *format_;
53 const UserDiagnostics *diag_;
54};
55
56} // namespace porytiles
Detects the base game of a decompilation project.
ChainableResult< BaseGame > detect() const
Detects the base game for the project.
BaseGameDetector(std::filesystem::path project_root, gsl::not_null< const TextFormatter * > format, gsl::not_null< const UserDiagnostics * > diag)
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Abstract base class for applying text styling with context-aware formatting.
Abstract class for structured error reporting and diagnostic output.