4 #include <ossia/network/base/node.hpp>
5 #include <ossia/network/base/protocol.hpp>
6 #include <ossia/network/common/complex_type.hpp>
7 #include <ossia/network/domain/domain.hpp>
8 #include <ossia/network/oscquery/oscquery_server.hpp>
9 #include <ossia/network/value/value.hpp>
23 virtual ~device_parameter();
28 void device_value_change_event(
const ossia::value& value);
30 void pull_value()
override;
47 ossia::net::parameter_base& set_domain(const
ossia::domain&)
override {
return *
this; }
55 template <
class ParamType = device_parameter,
class... T>
56 static ParamType* create_device_parameter(
60 static_assert(std::is_base_of<device_parameter, ParamType>::value);
63 auto param = std::make_unique<ParamType>(param_node, std::forward<T>(ctor_args)...);
65 ParamType* ret = param.get();
67 param->set_value(initial_value);
68 param_node.set_parameter(std::move(param));
74 virtual void device_update_value()
The node_base class.
Definition: network/base/node.hpp:48
The parameter_base class.
Definition: ossia/network/base/parameter.hpp:48
The value class.
Definition: value.hpp:173
val_type
Enum to represent the types that a value can take.
Definition: parameter_properties.hpp:16
bounding_mode
Address behaviors at crossing domain boundaries.
Definition: parameter_properties.hpp:56
access_mode
Address behaviors at crossing domain boundaries time.
Definition: parameter_properties.hpp:46
OSSIA_EXPORT void push_value(const ossia::destination &addr, const ossia::value_with_unit &)
Send a value to a given destination.
Definition: ossia/network/base/parameter.cpp:151
OSSIA_EXPORT node_base & create_node(node_base &dev, std::string_view parameter_base)
Create a node in a device.
domain A domain of values
Definition: domain_base.hpp:23