21 #ifndef OLA_OLACALLBACKCLIENT_H_
22 #define OLA_OLACALLBACKCLIENT_H_
29 #include <ola/network/Socket.h>
30 #include <ola/plugin_id.h>
35 #include <ola/timecode/TimeCode.h>
67 std::string preferences_source;
68 std::vector<OlaPlugin> conflicting_plugins;
91 const std::vector<OlaPlugin>&,
92 const std::string&> *callback);
94 bool FetchPluginDescription(
95 ola_plugin_id plugin_id,
98 const std::string&> *callback);
100 bool FetchPluginState(ola_plugin_id plugin_id,
101 PluginStateCallback *callback);
104 bool FetchDeviceInfo(
105 ola_plugin_id filter,
107 const std::vector<OlaDevice>&,
108 const std::string&> *callback);
110 bool FetchCandidatePorts(
111 unsigned int universe_id,
113 const std::vector<OlaDevice>&,
114 const std::string&> *callback);
116 bool FetchCandidatePorts(
118 const std::vector<OlaDevice>&,
119 const std::string&> *callback);
121 bool ConfigureDevice(
122 unsigned int device_alias,
123 const std::string &msg,
125 const std::string&> *callback);
128 bool SetPortPriorityInherit(
129 unsigned int device_alias,
131 PortDirection port_direction,
133 bool SetPortPriorityOverride(
134 unsigned int device_alias,
136 PortDirection port_direction,
141 bool FetchUniverseList(
143 const std::vector<OlaUniverse>&,
144 const std::string &> *callback);
145 bool FetchUniverseInfo(
146 unsigned int universe,
148 bool SetUniverseName(
150 const std::string &name,
152 bool SetUniverseMergeMode(
154 OlaUniverse::merge_mode mode,
159 unsigned int device_alias,
161 ola::PortDirection port_direction,
162 ola::PatchAction action,
170 const DmxBuffer&,
const std::string&> *callback);
177 const DmxBuffer&,
const std::string&> *callback);
179 bool RegisterUniverse(
180 unsigned int universe,
181 ola::RegisterAction register_action,
184 unsigned int universe,
185 const DmxBuffer &data,
188 unsigned int universe,
189 const DmxBuffer &data,
192 bool SendDmx(
unsigned int universe,
const DmxBuffer &data);
195 unsigned int universe,
197 const std::string&> *callback);
201 unsigned int universe,
204 const std::string&> *callback);
206 unsigned int universe,
210 const std::string&> *callback);
213 const std::string&> *callback);
216 unsigned int universe,
221 unsigned int data_length);
223 unsigned int universe,
228 unsigned int data_length);
230 unsigned int universe,
235 unsigned int data_length);
237 unsigned int universe,
242 unsigned int data_length);
246 const std::string&> *callback,
250 std::auto_ptr<client::OlaClientCore> m_core;
251 std::auto_ptr<DMXCallback> m_dmx_callback;
252 std::auto_ptr<DMXCallbackWithPriority> m_priority_dmx_callback;
254 void HandlePluginList(
256 const std::string&> *callback,
258 const std::vector<OlaPlugin> &plugins);
260 void HandlePluginDescription(
263 const std::string&> *callback,
265 const std::string &description);
267 void HandlePluginState(
268 PluginStateCallback *callback,
272 void HandleDeviceInfo(
274 const std::vector<OlaDevice>&,
275 const std::string&> *callback,
277 const std::vector<OlaDevice> &devices);
279 void HandleConfigureDevice(
282 const std::string&> *callback,
284 const std::string &reply);
286 void HandleUniverseList(
288 const std::string &> *callback,
290 const std::vector<OlaUniverse> &universes);
292 void HandleUniverseInfo(
300 const std::string&> *callback,
303 const DmxBuffer &data);
305 void HandleDiscovery(
308 const std::string&> *callback,
312 void HandleSetCallback(
316 void HandleRepeatableSetCallback(
321 const DmxBuffer &data);
323 void HandleRDMResponse(
329 void HandleRDMResponseWithPid(
335 void GetResponseStatusAndData(
337 ola::rdm::rdm_response_code response_code,
342 void GetParamFromReply(
343 const std::string &message_type,
350 #endif // OLA_OLACALLBACKCLIENT_H_
Represents a set of RDM UIDs.
Definition: UIDSet.h:48
Definition: ClientArgs.h:56
A 0 arg, single use callback that returns void.
Definition: Callback.h:157
An RDM Command that represents responses (GET, SET or DISCOVER).
Definition: RDMCommand.h:456
PortDirection
The port direction.
Definition: ClientArgs.h:54
RegisterAction
The register action, used with OlaClient::RegisterUniverse()
Definition: ClientArgs.h:46
A BidirectionalFileDescriptor that also generates notifications when closed.
Definition: Descriptor.h:282
Used to hold a single universe of DMX data.
Definition: DmxBuffer.h:49
A RDM unique identifier (UID).
PatchAction
The patch action, used with OlaClient::Patch()
Definition: ClientArgs.h:38
The Result object passed to OLA client callbacks.
A 4 argument callback which can be called multiple times.
Definition: Callback.h:3821
The legacy callback client.
Definition: OlaCallbackClient.h:61
The interface for an RDM API Implementation.
A class used to hold a single universe of DMX data.
Definition: ClientArgs.h:47
Definition: TimeCode.h:33
The state of a plugin. This information can be used to detect conflicts between plugins.
Definition: ClientTypes.h:93
A 3 argument callback which can be called multiple times.
Definition: Callback.h:2838
Indicates the result of a OLA API call.
Definition: Result.h:52
Represents the state of a response and/or any error codes.
Definition: RDMAPIImplInterface.h:51
Represents a universe.
Definition: ClientTypes.h:264
Definition: ClientArgs.h:39
Definition: ClientArgs.h:40
This is the interface for an RDMAPI implementation.
Definition: RDMAPIImplInterface.h:83
Definition: ClientArgs.h:48
A 1 argument callback which deletes itself after it's run.
Definition: Callback.h:1004
A 3 argument callback which deletes itself after it's run.
Definition: Callback.h:2850
Represents a RDM UID.
Definition: UID.h:57
The namespace containing all OLA symbols.
Definition: Credentials.cpp:44
Definition: OlaCallbackClient.h:63
Definition: ClientArgs.h:55
A 1 argument callback which can be called multiple times.
Definition: Callback.h:992
A 2 argument callback which deletes itself after it's run.
Definition: Callback.h:1907
Classes that represent RDM commands.