48 std::shared_ptr<Context> m_context = {};
51 std::string_view
name()
const;
118 static_cast<void>(
name);
161 virtual std::vector<std::pair<std::string, Variant>>
Context of an object handle.
Base class for interface handles.
VariantMap get_parameters() const
Get current parameters.
ObjectHandle(ObjectHandle const &)=delete
ObjectHandle & operator=(ObjectHandle const &)=delete
std::string serialize() const
virtual std::vector< std::string_view > valid_parameters() const
Get required and optional parameters for class.
Variant call_method(const std::string &name, const VariantMap ¶ms)
Call a method on the object.
virtual void set_internal_state(std::string const &)
virtual void do_set_parameter(const std::string &, const Variant &)
Local implementation of set_parameter.
virtual void do_construct(VariantMap const ¶ms)
virtual bool has_parameter(std::string const &needle) const
virtual Variant do_call_method(const std::string &, const VariantMap &)
Local implementation of call_method.
virtual std::vector< std::pair< std::string, Variant > > serialize_parameters() const
Serialize parameters.
Context * context() const
Responsible context.
virtual Variant get_parameter(std::string const &name) const
Get single parameter.
virtual std::string get_internal_state() const
void construct(VariantMap const ¶ms)
Construct the handled object.
void set_parameter(const std::string &name, const Variant &value)
Set single parameter.
static ObjectRef deserialize(const std::string &state, Context &ctx)
Make object from serialized state.
std::string_view name() const
virtual ~ObjectHandle()=default
std::shared_ptr< ObjectHandle > ObjectRef
T get_value(Variant const &v)
Extract value of specific type T from a Variant.
std::unordered_map< std::string, Variant > VariantMap
constexpr const None none
None-"literal".
static SteepestDescentParameters params
Currently active steepest descent instance.
Recursive variant implementation.