void OlaCallbackClient::HandleDiscovery( ola::SingleUseCallback2<void, const ola::rdm::UIDSet&, const string&> *callback, const client::Result &result, const ola::rdm::UIDSet &uids) { callback->Run(uids, result.Error()); }
void OlaCallbackClient::HandlePluginState( PluginStateCallback *callback, const client::Result &result, const client::PluginState &core_state) { PluginState state; state.name = core_state.name; state.enabled = core_state.enabled; state.active = core_state.active; state.preferences_source = core_state.preferences_source; state.conflicting_plugins = core_state.conflicting_plugins; callback->Run(state, result.Error()); }
void OlaCallbackClient::HandleUniverseInfo( SingleUseCallback2<void, OlaUniverse&, const string&> *callback, const client::Result &result, const OlaUniverse &universe) { // There was a bug in the API and universe isn't const. OlaUniverse new_universe( universe.Id(), universe.MergeMode(), universe.Name(), universe.InputPorts(), universe.OutputPorts(), universe.RDMDeviceCount()); callback->Run(new_universe, result.Error()); }
/* * Callback for m_client.FetchDmx called by GetDmx * @param response the HTTPResponse * @param buffer the DmxBuffer * @param error Error message */ void OladHTTPServer::HandleGetDmx(HTTPResponse *response, const client::Result &result, const client::DMXMetadata &, const DmxBuffer &buffer) { // rather than adding 512 JsonValue we cheat and use raw here stringstream str; str << "[" << buffer.ToString() << "]"; JsonObject json; json.AddRaw("dmx", str.str()); json.Add("error", result.Error()); response->SetNoCache(); response->SetContentType(HTTPServer::CONTENT_TYPE_PLAIN); response->SendJson(json); delete response; }
void OladHTTPServer::HandlePortsForUniverse( HTTPResponse *response, JsonObject *json, unsigned int universe_id, const client::Result &result, const vector<OlaDevice> &devices) { if (result.Success()) { vector<OlaDevice>::const_iterator iter = devices.begin(); vector<OlaInputPort>::const_iterator input_iter; vector<OlaOutputPort>::const_iterator output_iter; JsonArray *output_ports_json = json->AddArray("output_ports"); JsonArray *input_ports_json = json->AddArray("input_ports"); for (; iter != devices.end(); ++iter) { const vector<OlaInputPort> &input_ports = iter->InputPorts(); for (input_iter = input_ports.begin(); input_iter != input_ports.end(); ++input_iter) { if (input_iter->IsActive() && input_iter->Universe() == universe_id) { JsonObject *obj = input_ports_json->AppendObject(); PortToJson(obj, *iter, *input_iter, false); } } const vector<OlaOutputPort> &output_ports = iter->OutputPorts(); for (output_iter = output_ports.begin(); output_iter != output_ports.end(); ++output_iter) { if (output_iter->IsActive() && output_iter->Universe() == universe_id) { JsonObject *obj = output_ports_json->AppendObject(); PortToJson(obj, *iter, *output_iter, true); } } } } response->SetNoCache(); response->SetContentType(HTTPServer::CONTENT_TYPE_PLAIN); response->SendJson(*json); delete json; delete response; }
/* * Handle the universe list callback * @param response the HTTPResponse that is associated with the request. * @param plugins a list of plugins * @param error an error string. */ void OladHTTPServer::HandleUniverseList(HTTPResponse *response, JsonObject *json, const client::Result &result, const vector<OlaUniverse> &universes) { if (result.Success()) { JsonArray *universe_json = json->AddArray("universes"); vector<OlaUniverse>::const_iterator iter; for (iter = universes.begin(); iter != universes.end(); ++iter) { JsonObject *universe = universe_json->AppendObject(); universe->Add("id", iter->Id()); universe->Add("input_ports", iter->InputPortCount()); universe->Add("name", iter->Name()); universe->Add("output_ports", iter->OutputPortCount()); universe->Add("rdm_devices", iter->RDMDeviceCount()); } } response->SetNoCache(); response->SetContentType(HTTPServer::CONTENT_TYPE_PLAIN); response->SendJson(*json); delete response; delete json; }
void OlaCallbackClient::HandleConfigureDevice( SingleUseCallback2<void, const string&, const string&> *callback, const client::Result &result, const string &reply) { callback->Run(reply, result.Error()); }
void OlaCallbackClient::HandlePluginDescription( SingleUseCallback2<void, const string&, const string&> *callback, const client::Result &result, const string &description) { callback->Run(description, result.Error()); }
void BaseHttpAction::CallbackComplete(const client::Result &result) { RequestComplete(!result.Success()); }