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,
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,
188 unsigned int universe,
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(
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,
305 void HandleDiscovery(
308 const std::string&> *callback,
312 void HandleSetCallback(
316 void HandleRepeatableSetCallback(
323 void HandleRDMResponse(
329 void HandleRDMResponseWithPid(
335 void GetResponseStatusAndData(
342 void GetParamFromReply(
343 const std::string &message_type,
A class used to hold a single universe of DMX data.
The interface for an RDM API Implementation.
Classes that represent RDM commands.
The Result object passed to OLA client callbacks.
A RDM unique identifier (UID).
A 1 argument callback which can be called multiple times.
Definition Callback.h:992
A 3 argument callback which can be called multiple times.
Definition Callback.h:2838
A 4 argument callback which can be called multiple times.
Definition Callback.h:3821
Used to hold a single universe of DMX data.
Definition DmxBuffer.h:49
The legacy callback client.
Definition OlaCallbackClient.h:61
A 0 argument callback which deletes itself after it's run.
Definition Callback.h:141
A 1 argument callback which deletes itself after it's run.
Definition Callback.h:1004
A 2 argument callback which deletes itself after it's run.
Definition Callback.h:1907
A 3 argument callback which deletes itself after it's run.
Definition Callback.h:2850
Represents a universe.
Definition ClientTypes.h:264
Indicates the result of a OLA API call.
Definition Result.h:52
A BidirectionalFileDescriptor that also generates notifications when closed.
Definition Descriptor.h:283
This is the interface for an RDMAPI implementation.
Definition RDMAPIImplInterface.h:83
An RDM Command that represents responses (GET, SET or DISCOVER).
Definition RDMCommand.h:457
Represents the state of a response and/or any error codes.
Definition RDMAPIImplInterface.h:51
Represents a RDM UID.
Definition UID.h:57
Represents a set of RDM UIDs.
Definition UIDSet.h:48
PatchAction
The patch action, used with OlaClient::Patch()
Definition ClientArgs.h:38
@ PATCH
Definition ClientArgs.h:39
@ UNPATCH
Definition ClientArgs.h:40
PortDirection
The port direction.
Definition ClientArgs.h:54
@ OUTPUT_PORT
Definition ClientArgs.h:56
@ INPUT_PORT
Definition ClientArgs.h:55
RegisterAction
The register action, used with OlaClient::RegisterUniverse()
Definition ClientArgs.h:46
@ UNREGISTER
Definition ClientArgs.h:48
@ REGISTER
Definition ClientArgs.h:47
RDMStatusCode
RDM Status Codes.
Definition RDMResponseCodes.h:45
The namespace containing all OLA symbols.
Definition Credentials.cpp:44
Definition OlaCallbackClient.h:63
The state of a plugin. This information can be used to detect conflicts between plugins.
Definition ClientTypes.h:93