refactor!: Replace premake5 with CMake. (#551)

Co-authored-by: tupoy-ya <tupoy-ya@users.noreply.github.com>
This commit is contained in:
tupoy-ya
2022-11-08 21:08:58 +00:00
committed by GitHub
parent d9d8aa30c1
commit bc05ecd78c
340 changed files with 19298 additions and 19449 deletions

View File

@ -0,0 +1,40 @@
#pragma once
#include "handling_profile.hpp"
namespace big
{
using handling_profiles = std::map<std::string, std::unique_ptr<handling_profile>>;
class handling_service final
{
public:
handling_service();
~handling_service();
handling_service(const handling_service&) = delete;
handling_service(handling_service&&) noexcept = delete;
handling_service& operator=(const handling_service&) = delete;
handling_service& operator=(handling_service&&) noexcept = delete;
std::size_t load_files();
handling_profiles& profiles();
handling_profile* active_profile();
void apply_profile(handling_profile* profile);
bool save_profile(std::string name);
bool backup_vehicle();
void restore_vehicle() const;
private:
const folder m_profiles_folder;
handling_profile* m_active_profile;
handling_profiles m_handling_profiles;
// contains the handling profiles of a vehicles before they're been modified
std::unordered_map<std::uint32_t, std::unique_ptr<handling_profile>> m_vehicle_backups;
};
inline handling_service* g_handling_service{};
}