3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/oreui/interface/debug/IFacetProvider.h"
11namespace OreUI {
class IFacet; }
19 enum class Error :
int {
23 DeactivateNotFound = 3,
27 using payload_value_t = ::std::variant<double, bool, ::std::string>;
29 using Payload = ::std::unordered_map<::std::string, ::std::variant<double, bool, ::std::string>>;
34 virtual ~IFacetRegistry() =
default;
36 virtual void registerFacet(
37 ::std::string
const& name,
38 ::std::function<::std::unique_ptr<::OreUI::IFacet>()>
const& constructor
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
48 virtual ::std::optional<::OreUI::IFacetRegistry::Error>
49 deactivateFacet(::OreUI::FacetBinder& binder, ::std::string
const&
id) = 0;
51 virtual void clearAllFacets() = 0;
53 virtual void suspendAllFacets() = 0;
55 virtual void bind(::OreUI::FacetBinder& binder) = 0;
57 virtual ::std::vector<::std::string>
const& update(::OreUI::FacetBinder& binder) = 0;
Definition FacetBinder.h:7
Definition IFacetRegistry.h:7