Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
IRecentlyPlayedStorePersistence.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/world/RecentlyPlayedLoadError.h"
7#include "mc/deps/core/file/PathBuffer.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace Core { class Path; }
12namespace World { struct RecentlyPlayedEntry; }
13namespace World { struct RecentlyPlayedStoreLoadData; }
14// clang-format on
15
16namespace World {
17
19public:
20 // virtual functions
21 // NOLINTBEGIN
22 virtual ~IRecentlyPlayedStorePersistence() = default;
23
24 virtual ::Core::PathBuffer<::std::string> const& getSettingsDirectoryPath() const = 0;
25
26 virtual ::Core::PathBuffer<::std::string> const& getRecordFilePath() const = 0;
27
28 virtual ::std::string const& getAccountKey() const = 0;
29
30 virtual bool hasLoadedProfile() const = 0;
31
32 virtual ::nonstd::expected<::World::RecentlyPlayedStoreLoadData, ::World::RecentlyPlayedLoadError>
33 load(::Core::Path const& settingsDirectoryPath, ::std::string const& accountKey) = 0;
34
35 virtual void clearLoadedProfile() = 0;
36
37 virtual void persist(::gsl::span<::World::RecentlyPlayedEntry const> entries) = 0;
38 // NOLINTEND
39};
40
41} // namespace World
Definition Path.h:10
Definition IRecentlyPlayedStorePersistence.h:7
Definition RecentlyPlayedEntry.h:7
Definition RecentlyPlayedStoreLoadData.h:7