LeviLamina
Loading...
Searching...
No Matches
OptionComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/settings/Component.h"
7#include "mc/client/settings/ComponentState.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace Settings { class IOptionsDataProvider; }
12namespace Settings { struct OptionConfirmationRequest; }
13namespace Settings { struct OptionData; }
14// clang-format on
15
16namespace Settings {
17
18class OptionComponent : public ::Settings::Component<::Settings::OptionComponent> {
19public:
20 // OptionComponent inner types define
21 using DataProvider = ::Settings::IOptionsDataProvider;
22
23 using ConfirmationRequestsProvider = ::std::function<::std::vector<::Settings::OptionConfirmationRequest>()>;
24
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Settings::IOptionsDataProvider>> mDataProvider;
29 ::ll::TypedStorage<8, 64, ::std::function<::std::vector<::Settings::OptionConfirmationRequest>()>>
30 mConfirmationRequestsProvider;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 OptionComponent();
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual ~OptionComponent() /*override*/ = default;
41
42 virtual ::Settings::ComponentState getDefaultState() const /*override*/;
43 // NOLINTEND
44
45public:
46 // member functions
47 // NOLINTBEGIN
48 MCAPI OptionComponent(
49 ::std::string_view id,
50 ::std::string_view name,
51 ::std::optional<::std::string> description,
52 ::std::unique_ptr<::Settings::IOptionsDataProvider> dataProvider
53 );
54
55 MCFOLD bool flush();
56
57 MCFOLD ::std::vector<::Settings::OptionConfirmationRequest> getConfirmationRequests() const;
58
59 MCAPI ::std::optional<::std::string> getInfo() const;
60
61 MCFOLD ::gsl::span<::Settings::OptionData const> getOptions() const;
62
63 MCAPI int getValue() const;
64
65 MCAPI bool updateValue(int value);
66 // NOLINTEND
67
68public:
69 // constructor thunks
70 // NOLINTBEGIN
71 MCAPI void* $ctor(
72 ::std::string_view id,
73 ::std::string_view name,
74 ::std::optional<::std::string> description,
75 ::std::unique_ptr<::Settings::IOptionsDataProvider> dataProvider
76 );
77 // NOLINTEND
78
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82 MCFOLD ::Settings::ComponentState $getDefaultState() const;
83 // NOLINTEND
84
85public:
86 // vftables
87 // NOLINTBEGIN
88 MCNAPI static void** $vftable();
89 // NOLINTEND
90};
91
92} // namespace Settings
Definition IOptionsDataProvider.h:7
Definition OptionComponent.h:7
static MCAPI void ** $vftable()
Definition OptionConfirmationRequest.h:7
Definition OptionData.h:7