3#include "mc/_HeaderOutputPredefine.h"
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"
18class Registry :
public ::Settings::IRegistry {
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>>>()>;
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>>>()>>>
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>>>>>
72 virtual ~Registry() =
default;
74 virtual ::std::vector<::std::string_view> getSettingsGroups() const ;
76 virtual ::std::optional<::std::vector<::Settings::IRegistry::
SettingId>>
77 getSettingsGroup(::std::string_view settingsGroupId) ;
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 ;
100 ::
std::string_view key,
101 ::
std::function<::
std::vector<::
std::unique_ptr<::
std::variant<
122 MCNAPI ::
std::optional<::
std::reference_wrapper<::
std::variant<
Definition ActionComponent.h:7
Definition BannerComponent.h:7
Definition BooleanComponent.h:7
Definition GroupInfoComponent.h:7
Definition NumberComponent.h:8
Definition OptionComponent.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 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
Definition IRegistry.h:15