2#include <ossia/network/base/node.hpp>
3#include <ossia/network/phidgets/phidgets_parameter_data.hpp>
10 PhidgetHandle m_hdl{};
11 net::device_base& m_device;
13 std::unique_ptr<ossia::net::parameter_base> m_parameter;
17 using iterator = ossia::ptr_container<ossia::net::node_base>::iterator;
18 using const_iterator = ossia::ptr_container<ossia::net::node_base>::const_iterator;
22 auto phidget()
const {
return m_hdl; }
23 void set_parameter(std::unique_ptr<ossia::net::parameter_base> a)
override;
28 ossia::net::node_base* get_parent() const override;
30 ossia::net::node_base& set_name(std::
string n) override;
32 ossia::net::parameter_base* get_parameter() const final override;
33 ossia::net::parameter_base* create_parameter(
val_type) final override;
34 bool remove_parameter() final override;
36 std::unique_ptr<
ossia::net::node_base>
37 make_child(const std::
string& name) final override;
38 void removing_child(
ossia::net::node_base& node_base) final override;
39 void add_child_simple(std::unique_ptr<
ossia::net::node_base>);
42class phidget_hub_port_node : public
ossia::net::node_base
45 PhidgetHandle m_hdl{};
46 net::device_base& m_device;
50 using iterator = ossia::ptr_container<ossia::net::node_base>::iterator;
51 using const_iterator = ossia::ptr_container<ossia::net::node_base>::const_iterator;
53 ~phidget_hub_port_node();
55 auto phidget()
const {
return m_hdl; }
57 phidget_hub_port_node(
61 ossia::net::node_base* get_parent() const override;
63 ossia::net::node_base& set_name(std::
string n) override;
65 ossia::net::parameter_base* get_parameter() const final override;
66 ossia::net::parameter_base* create_parameter(
val_type) final override;
67 bool remove_parameter() final override;
69 std::unique_ptr<
ossia::net::node_base>
70 make_child(const std::
string& name) final override;
71 void removing_child(
ossia::net::node_base& node_base) final override;
72 void add_child_simple(std::unique_ptr<
ossia::net::node_base>);
Root of a device tree.
Definition ossia/network/base/device.hpp:58
The node_base class.
Definition node.hpp:48
virtual void set_parameter(std::unique_ptr< ossia::net::parameter_base >)
Default implementation does nothing.
Definition node.cpp:31
val_type
Enum to represent the types that a value can take.
Definition parameter_properties.hpp:16