LeviLamina
Loading...
Searching...
No Matches
FeatureToggles.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/options/FeatureOptionID.h"
8#include "mc/options/FeatureOptionTabID.h"
9
10// auto generated forward declare list
11// clang-format off
12class AppPlatform;
13class Option;
14// clang-format on
15
17public:
18 // FeatureToggles inner types declare
19 // clang-format off
20 struct FeatureToggle;
21 // clang-format on
22
23 // FeatureToggles inner types define
25 public:
26 // member variables
27 // NOLINTBEGIN
34 // NOLINTEND
35
36 public:
37 // prevent constructor by default
38 FeatureToggle& operator=(FeatureToggle const&);
41
42 public:
43 // member functions
44 // NOLINTBEGIN
46
47 MCAPI ::FeatureToggles::FeatureToggle& operator=(::FeatureToggles::FeatureToggle&&);
48
49 MCAPI ~FeatureToggle();
50 // NOLINTEND
51
52 public:
53 // constructor thunks
54 // NOLINTBEGIN
55 MCAPI void* $ctor(::FeatureToggles::FeatureToggle&&);
56 // NOLINTEND
57
58 public:
59 // destructor thunk
60 // NOLINTBEGIN
61 MCAPI void $dtor();
62 // NOLINTEND
63 };
64
65public:
66 // member variables
67 // NOLINTBEGIN
72 // NOLINTEND
73
74public:
75 // prevent constructor by default
76 FeatureToggles& operator=(FeatureToggles const&);
79
80public:
81 // virtual functions
82 // NOLINTBEGIN
83 // vIndex: 0
84 virtual ~FeatureToggles() /*override*/;
85 // NOLINTEND
86
87public:
88 // member functions
89 // NOLINTBEGIN
90 MCAPI ::std::function<void(::Option&)>
91 _getDisableIfOtherOptionDisabledSetupCallback(::FeatureOptionID optionIdToCheck) const;
92
93 MCAPI ::std::function<void(::Option&)> _getDisabledIfOptionExpectationsNotMetSetupCallback(
94 ::std::vector<::FeatureOptionID> expectedDisabledOptions,
95 ::std::vector<::FeatureOptionID> expectedEnabledOptions
96 );
97
98 MCAPI ::std::function<void(bool&)> _getLockIfInGameOrOptionExpectationsNotMetLockCallback(
99 ::std::vector<::FeatureOptionID> expectedDisabledOptions,
100 ::std::vector<::FeatureOptionID> expectedEnabledOptions
101 );
102
103 MCAPI ::std::function<void(bool&)> _getLockIfOtherOptionDisabledLockCallback(::FeatureOptionID optionIdToCheck
104 ) const;
105
106 MCAPI void _initialize(::AppPlatform& appPlatform);
107
108 MCAPI void _registerFeature(
109 ::FeatureOptionTabID tabID,
110 ::FeatureOptionID featureID,
111 ::std::string const& locName,
112 ::std::string const& saveName,
113 bool defaultValue,
114 ::FeatureOptionID dependencyFeatureID,
115 ::std::function<void(::Option&)> setup,
116 ::std::function<void(bool&)> lock
117 );
118
119 MCAPI void _registerFeatures();
120
121 MCAPI void _setupDependencies();
122
123 MCAPI bool isEnabled(::FeatureOptionID featureID) const;
124 // NOLINTEND
125
126public:
127 // static variables
128 // NOLINTBEGIN
129 MCAPI static ::std::unique_ptr<::FeatureToggles>& mFeatureToggles();
130 // NOLINTEND
131
132public:
133 // destructor thunk
134 // NOLINTBEGIN
135 MCAPI void $dtor();
136 // NOLINTEND
137
138public:
139 // vftables
140 // NOLINTBEGIN
141 MCAPI static void** $vftable();
142 // NOLINTEND
143};
Definition AppPlatform.h:49
Definition EnableNonOwnerReferences.h:7
Definition FeatureToggles.h:16
Definition Option.h:17
Definition FeatureToggles.h:24
Definition Alias.h:14