65 ,
public Nano::Observer
74 const QString& name()
const noexcept;
79 virtual DeviceResources usedResources()
const noexcept;
81 virtual void disconnect();
82 virtual bool reconnect() = 0;
85 virtual bool connected()
const;
97 void addToListening(
const std::vector<State::Address>&);
98 std::vector<State::Address> listening()
const;
101 virtual void updateAddress(
105 void sendMessage(
const State::Address& addr,
const ossia::value& v);
111 bool isLogging()
const;
112 void setLogging(DeviceLogging);
114 virtual ossia::net::device_base* getDevice()
const = 0;
116 virtual bool isLearning()
const;
117 virtual void setLearning(
bool);
119 virtual QMimeData* mimeData()
const;
120 virtual void setupContextMenu(QMenu&)
const;
122 void nodeCreated(
const ossia::net::node_base&);
123 void nodeRemoving(
const ossia::net::node_base&);
124 void nodeRenamed(
const ossia::net::node_base&, std::string);
125 void addressCreated(
const ossia::net::parameter_base&);
126 void addressUpdated(
const ossia::net::node_base&, ossia::string_view key);
127 void addressRemoved(
const ossia::net::parameter_base& addr);
129 Nano::Signal<void(
const State::Address&,
const ossia::value&)> valueUpdated;
134 E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, pathAdded, arg_1)
138 E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, pathUpdated, arg_1, arg_2)
140 E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, pathRemoved, arg_1)
143 void namespaceUpdated() E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, namespaceUpdated)
146 void deviceChanged(ossia::net::device_base* old_dev, ossia::net::device_base* new_dev)
147 E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, deviceChanged, old_dev, new_dev)
151 void logInbound(
const QString& arg_1)
const
152 E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, logInbound, arg_1)
153 void logOutbound(
const QString& arg_1)
const
154 E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, logOutbound, arg_1)
156 void connectionChanged(
bool arg_1)
const
157 E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, connectionChanged, arg_1)
163 using callback_pair = std::pair<
164 ossia::net::parameter_base*,
165 ossia::callback_container<ossia::value_callback>::iterator>;
166 score::hash_map<State::Address, callback_pair> m_callbacks;
168 void removeListening_impl(ossia::net::node_base& node,
State::Address addr);
169 void removeListening_impl(
170 ossia::net::node_base& node,
State::Address addr, std::vector<State::Address>&);
171 void renameListening_impl(
const State::Address& parent,
const QString& newName);
172 void setLogging_impl(DeviceLogging)
const;
173 void enableCallbacks();
174 void disableCallbacks();
180 DeviceLogging m_logging = DeviceLogging::LogNothing;
181 bool m_callbacksEnabled =
false;