Bug 1115758 - Part 4: Add nsITelephonyService.cancelUSSD (ipc). r=hsinyi

This commit is contained in:
Szu-Yu Chen [:aknow] 2015-01-07 15:28:44 +08:00
parent 1ebde2ee7a
commit d4236ab32b
3 changed files with 24 additions and 5 deletions

View File

@ -24,12 +24,17 @@ struct DialRequest
bool isEmergency;
};
struct USSDRequest
struct SendUSSDRequest
{
uint32_t clientId;
nsString ussd;
};
struct CancelUSSDRequest
{
uint32_t clientId;
};
struct HangUpConferenceRequest
{
uint32_t clientId;
@ -69,7 +74,8 @@ union IPCTelephonyRequest
{
EnumerateCallsRequest;
DialRequest;
USSDRequest;
SendUSSDRequest;
CancelUSSDRequest;
HangUpConferenceRequest;
AnswerCallRequest;
HangUpCallRequest;

View File

@ -314,7 +314,14 @@ TelephonyIPCService::SendUSSD(uint32_t aClientId, const nsAString& aUssd,
nsITelephonyCallback *aCallback)
{
return SendRequest(nullptr, aCallback,
USSDRequest(aClientId, nsString(aUssd)));
SendUSSDRequest(aClientId, nsString(aUssd)));
}
NS_IMETHODIMP
TelephonyIPCService::CancelUSSD(uint32_t aClientId,
nsITelephonyCallback *aCallback)
{
return SendRequest(nullptr, aCallback, CancelUSSDRequest(aClientId));
}
NS_IMETHODIMP

View File

@ -60,12 +60,18 @@ TelephonyParent::RecvPTelephonyRequestConstructor(PTelephonyRequestParent* aActo
return true;
}
case IPCTelephonyRequest::TUSSDRequest: {
const USSDRequest& request = aRequest.get_USSDRequest();
case IPCTelephonyRequest::TSendUSSDRequest: {
const SendUSSDRequest& request = aRequest.get_SendUSSDRequest();
service->SendUSSD(request.clientId(), request.ussd(), actor);
return true;
}
case IPCTelephonyRequest::TCancelUSSDRequest: {
const CancelUSSDRequest& request = aRequest.get_CancelUSSDRequest();
service->CancelUSSD(request.clientId(), actor);
return true;
}
case IPCTelephonyRequest::THangUpConferenceRequest: {
const HangUpConferenceRequest& request = aRequest.get_HangUpConferenceRequest();
service->HangUpConference(request.clientId(), actor);