LeviLamina
Loading...
Searching...
No Matches
IFacetRegistry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/oreui/interface/debug/IFacetProvider.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace OreUI { class FacetBinder; }
11namespace OreUI { class IFacet; }
12// clang-format on
13
14namespace OreUI {
15
16class IFacetRegistry : public ::OreUI::Debug::IFacetProvider {
17public:
18 // IFacetRegistry inner types define
19 enum class Error : int {
20 AlreadyActive = 0,
21 AlreadyInactive = 1,
22 ActivateNotFound = 2,
23 DeactivateNotFound = 3,
24 InitFailed = 4,
25 };
26
27 using payload_value_t = ::std::variant<double, bool, ::std::string>;
28
29 using Payload = ::std::unordered_map<::std::string, ::std::variant<double, bool, ::std::string>>;
30
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 virtual ~IFacetRegistry() /*override*/ = default;
35
36 virtual void registerFacet(
37 ::std::string const& name,
38 ::std::function<::std::unique_ptr<::OreUI::IFacet>()> const& constructor
39 ) = 0;
40
41 virtual ::std::optional<::OreUI::IFacetRegistry::Error> activateFacet(
42 ::OreUI::FacetBinder& binder,
43 ::std::string const& name,
44 ::std::string const& id,
45 ::std::unordered_map<::std::string, ::std::variant<double, bool, ::std::string>> const& payload
46 ) = 0;
47
48 virtual ::std::optional<::OreUI::IFacetRegistry::Error>
49 deactivateFacet(::OreUI::FacetBinder& binder, ::std::string const& id) = 0;
50
51 virtual void clearAllFacets() = 0;
52
53 virtual void suspendAllFacets() = 0;
54
55 virtual void bind(::OreUI::FacetBinder& binder) = 0;
56
57 virtual ::std::vector<::std::string> const& update(::OreUI::FacetBinder& binder) = 0;
58 // NOLINTEND
59
60public:
61 // virtual function thunks
62 // NOLINTBEGIN
63
64 // NOLINTEND
65};
66
67} // namespace OreUI
Definition FacetBinder.h:7
Definition IFacetRegistry.h:7
Definition IFacet.h:7