2#include <ossia/network/base/parameter.hpp>
3#include <ossia/network/common/path.hpp>
5#include <ossia/network/generic/generic_node.hpp>
18 using generic_node_base::generic_node_base;
26 bool remove_parameter()
override;
30 std::unique_ptr<node_base>
make_child(
const std::string& name)
override;
39class OSSIA_EXPORT alias_path final
40 :
public generic_node_base
49 const std::vector<ossia::net::node_base*>& get_roots();
50 void set_roots(std::vector<ossia::net::node_base*> roots);
52 traversal::path get_path()
const;
53 void set_path(traversal::path o);
57 bool remove_parameter()
override;
60 std::unique_ptr<node_base> make_child(
const std::string& name)
override;
63 void pull_value()
override;
65 std::future<void> pull_value_async()
override;
66 void request_value()
override;
75 val_type get_value_type() const noexcept override;
79 const
domain& get_domain() const noexcept override;
84 template <typename Fun>
85 void do_for_nodes(Fun f);
A type of node that refers to another node.
Definition alias_node.hpp:16
void removing_child(node_base &) override
Reimplement for a specific removal action.
Definition alias_node.cpp:59
parameter_base * create_parameter(val_type v) override
Allows a node to carry a value.
Definition alias_node.cpp:18
std::unique_ptr< node_base > make_child(const std::string &name) override
Should return nullptr if no child is to be added.
Definition alias_node.cpp:54
Root of a device tree.
Definition ossia/network/base/device.hpp:58
The node_base class.
Definition 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
Utilities to construct classes that will perform an action for nodes matching a path.
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
domain A domain of values
Definition domain_base.hpp:23