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;
86 W_INVOKABLE(connected)
98 void addToListening(
const std::vector<State::Address>&);
99 std::vector<State::Address> listening()
const;
102 virtual void updateAddress(
106 void sendMessage(
const State::Address& addr,
const ossia::value& v);
112 bool isLogging()
const;
113 void setLogging(DeviceLogging);
115 virtual ossia::net::device_base* getDevice()
const = 0;
117 virtual bool isLearning()
const;
118 virtual void setLearning(
bool);
120 virtual QMimeData* mimeData()
const;
121 virtual void setupContextMenu(QMenu&)
const;
123 void nodeCreated(
const ossia::net::node_base&);
124 void nodeRemoving(
const ossia::net::node_base&);
125 void nodeRenamed(
const ossia::net::node_base&, std::string);
126 void addressCreated(
const ossia::net::parameter_base&);
127 void addressUpdated(
const ossia::net::node_base&, ossia::string_view key);
128 void addressRemoved(
const ossia::net::parameter_base& addr);
130 Nano::Signal<void(
const State::Address&,
const ossia::value&)> valueUpdated;
135 E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, pathAdded, arg_1)
139 E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, pathUpdated, arg_1, arg_2)
141 E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, pathRemoved, arg_1)
144 void namespaceUpdated() E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, namespaceUpdated)
147 void deviceChanged(ossia::net::device_base* old_dev, ossia::net::device_base* new_dev)
148 E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, deviceChanged, old_dev, new_dev)
152 void logInbound(
const QString& arg_1)
const
153 E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, logInbound, arg_1)
154 void logOutbound(
const QString& arg_1)
const
155 E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, logOutbound, arg_1)
157 void connectionChanged(
bool arg_1)
const
158 E_SIGNAL(SCORE_LIB_DEVICE_EXPORT, connectionChanged, arg_1)
164 using callback_pair = std::pair<
165 ossia::net::parameter_base*,
166 ossia::callback_container<ossia::value_callback>::iterator>;
167 score::hash_map<State::Address, callback_pair> m_callbacks;
169 void removeListening_impl(ossia::net::node_base& node,
State::Address addr);
170 void removeListening_impl(
171 ossia::net::node_base& node,
State::Address addr, std::vector<State::Address>&);
172 void renameListening_impl(
const State::Address& parent,
const QString& newName);
173 void setLogging_impl(DeviceLogging)
const;
174 void enableCallbacks();
175 void disableCallbacks();
181 DeviceLogging m_logging = DeviceLogging::LogNothing;
182 bool m_callbacksEnabled =
false;