Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
Registry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/settings/ActionComponent.h"
7#include "mc/client/settings/BannerComponent.h"
8#include "mc/client/settings/BooleanComponent.h"
9#include "mc/client/settings/GroupInfoComponent.h"
10#include "mc/client/settings/IRegistry.h"
11#include "mc/client/settings/NumberComponent.h"
12#include "mc/client/settings/OptionComponent.h"
13#include "mc/client/settings/StringComponent.h"
14#include "mc/client/settings/TextComponent.h"
15
16namespace Settings {
17
18class Registry : public ::Settings::IRegistry {
19public:
20 // Registry inner types define
21 using SettingsFactory = ::std::function<::std::vector<::std::unique_ptr<::std::variant<
22 ::Settings::BooleanComponent,
23 ::Settings::NumberComponent<int>,
24 ::Settings::NumberComponent<float>,
25 ::Settings::OptionComponent,
26 ::Settings::StringComponent,
27 ::Settings::ActionComponent,
28 ::Settings::TextComponent,
29 ::Settings::GroupInfoComponent,
30 ::Settings::BannerComponent>>>()>;
31
32public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<
36 8,
37 64,
38 ::std::unordered_map<
39 ::std::string,
40 ::std::function<::std::vector<::std::unique_ptr<::std::variant<
41 ::Settings::BooleanComponent,
42 ::Settings::NumberComponent<int>,
43 ::Settings::NumberComponent<float>,
44 ::Settings::OptionComponent,
45 ::Settings::StringComponent,
46 ::Settings::ActionComponent,
47 ::Settings::TextComponent,
48 ::Settings::GroupInfoComponent,
49 ::Settings::BannerComponent>>>()>>>
50 mSettingsFactories;
51 ::ll::TypedStorage<
52 8,
53 64,
54 ::std::unordered_map<
55 ::std::string,
56 ::std::vector<::std::unique_ptr<::std::variant<
57 ::Settings::BooleanComponent,
58 ::Settings::NumberComponent<int>,
59 ::Settings::NumberComponent<float>,
60 ::Settings::OptionComponent,
61 ::Settings::StringComponent,
62 ::Settings::ActionComponent,
63 ::Settings::TextComponent,
64 ::Settings::GroupInfoComponent,
65 ::Settings::BannerComponent>>>>>
66 mSettingsMap;
67 // NOLINTEND
68
69public:
70 // virtual functions
71 // NOLINTBEGIN
72 virtual ~Registry() /*override*/ = default;
73
74 virtual ::std::vector<::std::string_view> getSettingsGroups() const /*override*/;
75
76 virtual ::std::optional<::std::vector<::Settings::IRegistry::SettingId>>
77 getSettingsGroup(::std::string_view settingsGroupId) /*override*/;
78
79 virtual ::std::optional<::std::reference_wrapper<::std::variant<
80 ::Settings::BooleanComponent,
81 ::Settings::NumberComponent<int>,
82 ::Settings::NumberComponent<float>,
83 ::Settings::OptionComponent,
84 ::Settings::StringComponent,
85 ::Settings::ActionComponent,
86 ::Settings::TextComponent,
87 ::Settings::GroupInfoComponent,
88 ::Settings::BannerComponent>>>
89 getSetting(::std::string_view settingId) const /*override*/;
90 // NOLINTEND
91
92public:
93 // member functions
94 // NOLINTBEGIN
95 MCNAPI void refresh();
96
97 MCNAPI void refresh(::std::string_view id);
98
100 ::std::string_view key,
101 ::std::function<::std::vector<::std::unique_ptr<::std::variant<
102 ::Settings::BooleanComponent,
103 ::Settings::NumberComponent<int>,
104 ::Settings::NumberComponent<float>,
105 ::Settings::OptionComponent,
106 ::Settings::StringComponent,
107 ::Settings::ActionComponent,
108 ::Settings::TextComponent,
109 ::Settings::GroupInfoComponent,
110 ::Settings::BannerComponent>>>()>&& factory
111 );
112 // NOLINTEND
113
114public:
115 // virtual function thunks
116 // NOLINTBEGIN
117 MCNAPI ::std::vector<::std::string_view> $getSettingsGroups() const;
118
119 MCNAPI ::std::optional<::std::vector<::Settings::IRegistry::SettingId>>
120 $getSettingsGroup(::std::string_view settingsGroupId);
121
122 MCNAPI ::std::optional<::std::reference_wrapper<::std::variant<
123 ::Settings::BooleanComponent,
124 ::Settings::NumberComponent<int>,
125 ::Settings::NumberComponent<float>,
126 ::Settings::OptionComponent,
127 ::Settings::StringComponent,
128 ::Settings::ActionComponent,
129 ::Settings::TextComponent,
130 ::Settings::GroupInfoComponent,
131 ::Settings::BannerComponent>>>
132 $getSetting(::std::string_view settingId) const;
133 // NOLINTEND
134};
135
136} // namespace Settings
Definition ActionComponent.h:7
Definition BannerComponent.h:7
Definition BooleanComponent.h:7
Definition GroupInfoComponent.h:7
Definition IRegistry.h:7
Definition NumberComponent.h:8
Definition OptionComponent.h:7
Definition Registry.h:7
MCAPI ::std::optional<::std::reference_wrapper<::std::variant< ::Settings::BooleanComponent, ::Settings::NumberComponent< int >, ::Settings::NumberComponent< float >, ::Settings::OptionComponent, ::Settings::StringComponent, ::Settings::ActionComponent, ::Settings::TextComponent, ::Settings::GroupInfoComponent, ::Settings::BannerComponent > > > $getSetting(::std::string_view settingId) const
MCAPI ::std::vector<::std::string_view > $getSettingsGroups() const
MCAPI ::std::optional<::std::vector<::Settings::IRegistry::SettingId > > $getSettingsGroup(::std::string_view settingsGroupId)
MCAPI void refresh()
MCAPI void registerSettingsFactory(::std::string_view key, ::std::function<::std::vector<::std::unique_ptr<::std::variant< ::Settings::BooleanComponent, ::Settings::NumberComponent< int >, ::Settings::NumberComponent< float >, ::Settings::OptionComponent, ::Settings::StringComponent, ::Settings::ActionComponent, ::Settings::TextComponent, ::Settings::GroupInfoComponent, ::Settings::BannerComponent > > >()> &&factory)
Definition StringComponent.h:7
Definition TextComponent.h:7
STL namespace.
Definition IRegistry.h:15