LeviLamina
Loading...
Searching...
No Matches
IRegistry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/settings/NumberComponent.h"
7#include "mc/client/settings/SettingsType.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace Settings { class ActionComponent; }
12namespace Settings { class BannerComponent; }
13namespace Settings { class BooleanComponent; }
14namespace Settings { class GroupInfoComponent; }
15namespace Settings { class OptionComponent; }
16namespace Settings { class StringComponent; }
17namespace Settings { class TextComponent; }
18// clang-format on
19
20namespace Settings {
21
22class IRegistry {
23public:
24 // IRegistry inner types declare
25 // clang-format off
26 struct SettingId;
27 // clang-format on
28
29 // IRegistry inner types define
30 struct SettingId {
31 public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 16, ::std::string_view> mId;
35 ::ll::TypedStorage<4, 4, ::Settings::SettingsType> mType;
36 // NOLINTEND
37 };
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 virtual ~IRegistry() = default;
43
44 virtual ::std::vector<::std::string_view> getSettingsGroups() const = 0;
45
46 virtual ::std::optional<::std::vector<::Settings::IRegistry::SettingId>>
47 getSettingsGroup(::std::string_view settingsGroupId) = 0;
48
49 virtual ::std::optional<::std::reference_wrapper<::std::variant<
50 ::Settings::BooleanComponent,
51 ::Settings::NumberComponent<int>,
52 ::Settings::NumberComponent<float>,
53 ::Settings::OptionComponent,
54 ::Settings::StringComponent,
55 ::Settings::ActionComponent,
56 ::Settings::TextComponent,
57 ::Settings::GroupInfoComponent,
58 ::Settings::BannerComponent>>>
59 getSetting(::std::string_view settingId) const = 0;
60 // NOLINTEND
61
62public:
63 // virtual function thunks
64 // NOLINTBEGIN
65
66 // NOLINTEND
67};
68
69} // namespace Settings
Definition ActionComponent.h:7
Definition BannerComponent.h:7
Definition BooleanComponent.h:7
Definition GroupInfoComponent.h:7
Definition IRegistry.h:7
Definition OptionComponent.h:7
Definition StringComponent.h:7
Definition TextComponent.h:7
Definition IRegistry.h:15