mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-07-04 05:06:58 -04:00
* WiP on porting sms to new cmux. * [cellular-messages] WiP concatented messages. * [cellular-messages] Sending sms and concatenated sms. * [cellular-messages] WiP concatenated messages. * [cellular-messages] Fixed deserialising multiple frames. * [cellular-message] Demo app + cellular api. * [cellular-message] Added text input selection * [cellular-messages] Fixed font size. * .gitignore update * [cellular-messages] cleanup and rm source/version.hpp. * [cellular-messages] PR suggestions. * [cellular-messages] Fixed merge overwrites, rest of PR suggestions. * [cellular-messages] Pr suggestions. * [cellular-messages] PR suggestions again.
76 lines
2.5 KiB
C++
76 lines
2.5 KiB
C++
/*
|
|
* @file CellularServiceAPI.cpp
|
|
* @author Mateusz Piesta (mateusz.piesta@mudita.com)
|
|
* @date 09.07.19
|
|
* @brief
|
|
* @copyright Copyright (C) 2019 mudita.com
|
|
* @details
|
|
*/
|
|
|
|
|
|
|
|
#include "CellularServiceAPI.hpp"
|
|
#include "Service/Bus.hpp"
|
|
#include "../ServiceCellular.hpp"
|
|
#include "utf8/UTF8.hpp"
|
|
|
|
bool CellularServiceAPI::DialNumber(sys::Service* serv,const std::string& number) {
|
|
std::shared_ptr<CellularRequestMessage> msg = std::make_shared<CellularRequestMessage>(MessageType::CellularDialNumber);
|
|
msg->data = number;
|
|
|
|
auto ret = sys::Bus::SendUnicast(msg,ServiceCellular::serviceName,serv,5000);
|
|
CellularResponseMessage* response = reinterpret_cast<CellularResponseMessage*>(ret.second.get());
|
|
if((ret.first == sys::ReturnCodes::Success) && (response->retCode == true)){
|
|
return true;
|
|
}
|
|
else{
|
|
LOG_ERROR("Failed");
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
bool CellularServiceAPI::AnswerIncomingCall(sys::Service* serv) {
|
|
std::shared_ptr<CellularRequestMessage> msg = std::make_shared<CellularRequestMessage>(MessageType::CellularAnswerIncomingCall);
|
|
|
|
auto ret = sys::Bus::SendUnicast(msg,ServiceCellular::serviceName,serv,5000);
|
|
CellularResponseMessage* response = reinterpret_cast<CellularResponseMessage*>(ret.second.get());
|
|
if((ret.first == sys::ReturnCodes::Success) && (response->retCode == true)){
|
|
return true;
|
|
}
|
|
else{
|
|
LOG_ERROR("Failed");
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool CellularServiceAPI::HangupCall(sys::Service* serv){
|
|
std::shared_ptr<CellularRequestMessage> msg = std::make_shared<CellularRequestMessage>(MessageType::CellularHangupCall);
|
|
|
|
auto ret = sys::Bus::SendUnicast(msg,ServiceCellular::serviceName,serv,5000);
|
|
CellularResponseMessage* response = reinterpret_cast<CellularResponseMessage*>(ret.second.get());
|
|
if((ret.first == sys::ReturnCodes::Success) && (response->retCode == true)){
|
|
return true;
|
|
}
|
|
else{
|
|
LOG_ERROR("Failed");
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool CellularServiceAPI::SendSMS(sys::Service* serv, UTF8 number, UTF8 message)
|
|
{
|
|
std::shared_ptr<CellularSMSRequestMessage> msg = std::make_shared<CellularSMSRequestMessage>(MessageType::CellularSendSMS);
|
|
|
|
msg->number = number;
|
|
msg->message = message;
|
|
|
|
auto ret = sys::Bus::SendUnicast(msg, ServiceCellular::serviceName, serv, 5000);
|
|
CellularResponseMessage* response = reinterpret_cast<CellularResponseMessage*>(ret.second.get());
|
|
if((ret.first == sys::ReturnCodes::Success) && (response->retCode == true))
|
|
{
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|