/* * @file AudioSerivceAPI.cpp * @author Mateusz Piesta (mateusz.piesta@mudita.com) * @date 29.07.19 * @brief * @copyright Copyright (C) 2019 mudita.com * @details */ #include "AudioServiceAPI.hpp" #include "Service/Bus.hpp" #include "../ServiceAudio.hpp" using namespace audio; RetCode AudioServiceAPI::PlaybackStart(sys::Service *serv, const std::string &fileName) { std::shared_ptr msg = std::make_shared(MessageType::AudioPlaybackStart); msg->fileName = fileName; auto ret = sys::Bus::SendUnicast(msg,ServiceAudio::serviceName,serv,5000); return reinterpret_cast(ret.second.get())->retCode; } RetCode AudioServiceAPI::RecordingStart(sys::Service *serv, const std::string &fileName) { std::shared_ptr msg = std::make_shared(MessageType::AudioRecorderStart); msg->fileName = fileName; auto ret = sys::Bus::SendUnicast(msg,ServiceAudio::serviceName,serv,5000); return reinterpret_cast(ret.second.get())->retCode; } audio::RetCode AudioServiceAPI::RoutingStart(sys::Service *serv) { std::shared_ptr msg = std::make_shared(MessageType::AudioRoutingStart); auto ret = sys::Bus::SendUnicast(msg,ServiceAudio::serviceName,serv,5000); return reinterpret_cast(ret.second.get())->retCode; } audio::RetCode AudioServiceAPI::RoutingRecordCtrl(sys::Service *serv, bool enable) { std::shared_ptr msg = std::make_shared(MessageType::AudioRoutingRecordCtrl); msg->enable = enable; auto ret = sys::Bus::SendUnicast(msg,ServiceAudio::serviceName,serv,5000); return reinterpret_cast(ret.second.get())->retCode; } RetCode AudioServiceAPI::Stop(sys::Service *serv) { std::shared_ptr msg = std::make_shared(MessageType::AudioStop); auto ret = sys::Bus::SendUnicast(msg,ServiceAudio::serviceName,serv,5000); return reinterpret_cast(ret.second.get())->retCode; } RetCode AudioServiceAPI::Pause(sys::Service *serv) { std::shared_ptr msg = std::make_shared(MessageType::AudioPause); auto ret = sys::Bus::SendUnicast(msg,ServiceAudio::serviceName,serv,5000); return reinterpret_cast(ret.second.get())->retCode; } RetCode AudioServiceAPI::Resume(sys::Service *serv) { std::shared_ptr msg = std::make_shared(MessageType::AudioResume); auto ret = sys::Bus::SendUnicast(msg,ServiceAudio::serviceName,serv,5000); return reinterpret_cast(ret.second.get())->retCode; } RetCode AudioServiceAPI::SetInputGain(sys::Service *serv, const Gain gain) { std::shared_ptr msg = std::make_shared(MessageType::AudioSetInputGain); msg->val = gain; auto ret = sys::Bus::SendUnicast(msg,ServiceAudio::serviceName,serv,5000); return reinterpret_cast(ret.second.get())->retCode; } RetCode AudioServiceAPI::SetOutputVolume(sys::Service *serv, const Volume vol) { std::shared_ptr msg = std::make_shared(MessageType::AudioSetOutputVolume); msg->val = vol; auto ret = sys::Bus::SendUnicast(msg,ServiceAudio::serviceName,serv,5000); return reinterpret_cast(ret.second.get())->retCode; } std::optional AudioServiceAPI::GetFileTags(sys::Service *serv, const std::string &fileName) { std::shared_ptr msg = std::make_shared(MessageType::AudioGetFileTags); msg->fileName = fileName; auto ret = sys::Bus::SendUnicast(msg,ServiceAudio::serviceName,serv,5000); if(reinterpret_cast(ret.second.get())->retCode != RetCode::Success){ return {}; } else{ return reinterpret_cast(ret.second.get())->tags; } }