Open Lighting Architecture  Latest Git
Public Types | Public Member Functions | List of all members
ola::OlaServerServiceImpl Class Reference

Detailed Description

The OLA Server RPC methods.

After the RPC system un-marshalls the data, it invokes the methods of this class. This therefore contains all the methods a client can invoke on the server.

There is no client specific member data, so a single OlaServerServiceImpl is created. Any OLA client data is passed via the user data in the ola::rpc::RpcSession object, accessible via the ola::rpc::RpcController.

Inheritance diagram for ola::OlaServerServiceImpl:
Inheritance graph
[legend]
Collaboration diagram for ola::OlaServerServiceImpl:
Collaboration graph
[legend]

Public Types

typedef Callback0< void > ReloadPluginsCallback
 A Callback used to reload all the plugins.
 

Public Member Functions

 OlaServerServiceImpl (class UniverseStore *universe_store, class DeviceManager *device_manager, class PluginManager *plugin_manager, class PortManager *port_manager, class ClientBroker *broker, const class TimeStamp *wake_up_time, ReloadPluginsCallback *reload_plugins_callback)
 Create a new OlaServerServiceImpl.
 
void GetDmx (ola::rpc::RpcController *controller, const ola::proto::UniverseRequest *request, ola::proto::DmxData *response, ola::rpc::RpcService::CompletionCallback *done)
 Returns the current DMX values for a particular universe.
 
void RegisterForDmx (ola::rpc::RpcController *controller, const ola::proto::RegisterDmxRequest *request, ola::proto::Ack *response, ola::rpc::RpcService::CompletionCallback *done)
 Register a client to receive DMX data.
 
void UpdateDmxData (ola::rpc::RpcController *controller, const ola::proto::DmxData *request, ola::proto::Ack *response, ola::rpc::RpcService::CompletionCallback *done)
 Update the DMX values for a single universe.
 
void StreamDmxData (ola::rpc::RpcController *controller, const ::ola::proto::DmxData *request, ::ola::proto::STREAMING_NO_RESPONSE *response, ola::rpc::RpcService::CompletionCallback *done)
 Handle a streaming DMX update, no response is sent.
 
void SetUniverseName (ola::rpc::RpcController *controller, const ola::proto::UniverseNameRequest *request, ola::proto::Ack *response, ola::rpc::RpcService::CompletionCallback *done)
 Sets the name of a universe.
 
void SetMergeMode (ola::rpc::RpcController *controller, const ola::proto::MergeModeRequest *request, ola::proto::Ack *response, ola::rpc::RpcService::CompletionCallback *done)
 Set the merge mode for a universe.
 
void PatchPort (ola::rpc::RpcController *controller, const ola::proto::PatchPortRequest *request, ola::proto::Ack *response, ola::rpc::RpcService::CompletionCallback *done)
 Patch a port to a universe.
 
void SetPortPriority (ola::rpc::RpcController *controller, const ola::proto::PortPriorityRequest *request, ola::proto::Ack *response, ola::rpc::RpcService::CompletionCallback *done)
 Set the priority of one or more ports.
 
void GetUniverseInfo (ola::rpc::RpcController *controller, const ola::proto::OptionalUniverseRequest *request, ola::proto::UniverseInfoReply *response, ola::rpc::RpcService::CompletionCallback *done)
 Returns information on the active universes.
 
void GetPlugins (ola::rpc::RpcController *controller, const ola::proto::PluginListRequest *request, ola::proto::PluginListReply *response, ola::rpc::RpcService::CompletionCallback *done)
 Return info on available plugins.
 
void ReloadPlugins (ola::rpc::RpcController *controller, const ola::proto::PluginReloadRequest *request, ola::proto::Ack *response, ola::rpc::RpcService::CompletionCallback *done)
 Reload the plugins.
 
void GetPluginDescription (ola::rpc::RpcController *controller, const ola::proto::PluginDescriptionRequest *request, ola::proto::PluginDescriptionReply *response, ola::rpc::RpcService::CompletionCallback *done)
 Return the description for a plugin.
 
void GetPluginState (ola::rpc::RpcController *controller, const ola::proto::PluginStateRequest *request, ola::proto::PluginStateReply *response, ola::rpc::RpcService::CompletionCallback *done)
 Return the state for a plugin.
 
void SetPluginState (ola::rpc::RpcController *controller, const ola::proto::PluginStateChangeRequest *request, ola::proto::Ack *response, ola::rpc::RpcService::CompletionCallback *done)
 Change the state of plugins.
 
void GetDeviceInfo (ola::rpc::RpcController *controller, const ola::proto::DeviceInfoRequest *request, ola::proto::DeviceInfoReply *response, ola::rpc::RpcService::CompletionCallback *done)
 Return information on available devices.
 
void GetCandidatePorts (ola::rpc::RpcController *controller, const ola::proto::OptionalUniverseRequest *request, ola::proto::DeviceInfoReply *response, ola::rpc::RpcService::CompletionCallback *done)
 Handle a GetCandidatePorts request.
 
void ConfigureDevice (ola::rpc::RpcController *controller, const ola::proto::DeviceConfigRequest *request, ola::proto::DeviceConfigReply *response, ola::rpc::RpcService::CompletionCallback *done)
 Handle a ConfigureDevice request.
 
void GetUIDs (ola::rpc::RpcController *controller, const ola::proto::UniverseRequest *request, ola::proto::UIDListReply *response, ola::rpc::RpcService::CompletionCallback *done)
 Fetch the UID list for a universe.
 
void ForceDiscovery (ola::rpc::RpcController *controller, const ola::proto::DiscoveryRequest *request, ola::proto::UIDListReply *response, ola::rpc::RpcService::CompletionCallback *done)
 Force RDM discovery for a universe.
 
void RDMCommand (ola::rpc::RpcController *controller, const ::ola::proto::RDMRequest *request, ola::proto::RDMResponse *response, ola::rpc::RpcService::CompletionCallback *done)
 Handle an RDM Command.
 
void RDMDiscoveryCommand (ola::rpc::RpcController *controller, const ::ola::proto::RDMDiscoveryRequest *request, ola::proto::RDMResponse *response, ola::rpc::RpcService::CompletionCallback *done)
 Handle an RDM Discovery Command. More...
 
void SetSourceUID (ola::rpc::RpcController *controller, const ::ola::proto::UID *request, ola::proto::Ack *response, ola::rpc::RpcService::CompletionCallback *done)
 Set this client's source UID.
 
void SendTimeCode (ola::rpc::RpcController *controller, const ::ola::proto::TimeCode *request, ::ola::proto::Ack *response, ola::rpc::RpcService::CompletionCallback *done)
 Send Timecode.
 
template<class PortClass >
void PopulatePort (const PortClass &port, PortInfo *port_info) const
 

Member Function Documentation

◆ RDMDiscoveryCommand()

void ola::OlaServerServiceImpl::RDMDiscoveryCommand ( ola::rpc::RpcController controller,
const ::ola::proto::RDMDiscoveryRequest *  request,
ola::proto::RDMResponse *  response,
ola::rpc::RpcService::CompletionCallback done 
)

Handle an RDM Discovery Command.

This is used by the RDM responder tests. Normally clients don't need to send raw discovery packets and can just use the GetUIDs method.


The documentation for this class was generated from the following files: