A context for writing extensions where known extensions and their handlers can be registered.
void setExtensionState(const std::string &extensionName, ExtensionState newState)
Enables or disables an extension.
void registerExtension(const std::string &extensionName)
Registers an extension for an object.
void registerExtension()
Registers an extension for an object.
ExtensionState getExtensionState(const std::string &extensionName) const
Returns whether an extension is enabled or disabled.
ExtensionHandler< std::any > createExtensionHandler(const std::string_view &extensionName, const std::any &obj, const std::string &extendedObjectType) const
Attempts to create an ExtensionHandler for the given object, returning nullptr if no handler could be...