зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1044721 - Part 4: Update IPC protocols and implementation for setSmscAddress API. r=btseng
This commit is contained in:
Родитель
7316e2e40a
Коммит
28ed3918a4
|
@ -79,6 +79,14 @@ struct GetSmscAddressRequest
|
||||||
uint32_t serviceId;
|
uint32_t serviceId;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct SetSmscAddressRequest
|
||||||
|
{
|
||||||
|
uint32_t serviceId;
|
||||||
|
nsString number;
|
||||||
|
uint32_t typeOfNumber;
|
||||||
|
uint32_t numberPlanIdentification;
|
||||||
|
};
|
||||||
|
|
||||||
union IPCSmsRequest
|
union IPCSmsRequest
|
||||||
{
|
{
|
||||||
SendMessageRequest;
|
SendMessageRequest;
|
||||||
|
@ -88,6 +96,7 @@ union IPCSmsRequest
|
||||||
MarkMessageReadRequest;
|
MarkMessageReadRequest;
|
||||||
GetSegmentInfoForTextRequest;
|
GetSegmentInfoForTextRequest;
|
||||||
GetSmscAddressRequest;
|
GetSmscAddressRequest;
|
||||||
|
SetSmscAddressRequest;
|
||||||
};
|
};
|
||||||
|
|
||||||
union IPCMobileMessageCursor
|
union IPCMobileMessageCursor
|
||||||
|
|
|
@ -94,6 +94,15 @@ struct ReplyGetSmscAddressFail
|
||||||
int32_t error;
|
int32_t error;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct ReplySetSmscAddress
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ReplySetSmscAddressFail
|
||||||
|
{
|
||||||
|
int32_t error;
|
||||||
|
};
|
||||||
|
|
||||||
union MessageReply
|
union MessageReply
|
||||||
{
|
{
|
||||||
ReplyMessageSend;
|
ReplyMessageSend;
|
||||||
|
@ -108,6 +117,8 @@ union MessageReply
|
||||||
ReplyGetSegmentInfoForTextFail;
|
ReplyGetSegmentInfoForTextFail;
|
||||||
ReplyGetSmscAddress;
|
ReplyGetSmscAddress;
|
||||||
ReplyGetSmscAddressFail;
|
ReplyGetSmscAddressFail;
|
||||||
|
ReplySetSmscAddress;
|
||||||
|
ReplySetSmscAddressFail;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace mobilemessage
|
} // namespace mobilemessage
|
||||||
|
|
|
@ -262,6 +262,12 @@ SmsRequestChild::Recv__delete__(const MessageReply& aReply)
|
||||||
case MessageReply::TReplyGetSmscAddressFail:
|
case MessageReply::TReplyGetSmscAddressFail:
|
||||||
mReplyRequest->NotifyGetSmscAddressFailed(aReply.get_ReplyGetSmscAddressFail().error());
|
mReplyRequest->NotifyGetSmscAddressFailed(aReply.get_ReplyGetSmscAddressFail().error());
|
||||||
break;
|
break;
|
||||||
|
case MessageReply::TReplySetSmscAddress:
|
||||||
|
mReplyRequest->NotifySetSmscAddress();
|
||||||
|
break;
|
||||||
|
case MessageReply::TReplySetSmscAddressFail:
|
||||||
|
mReplyRequest->NotifySetSmscAddressFailed(aReply.get_ReplySetSmscAddressFail().error());
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
MOZ_CRASH("Received invalid response parameters!");
|
MOZ_CRASH("Received invalid response parameters!");
|
||||||
}
|
}
|
||||||
|
|
|
@ -181,6 +181,21 @@ SmsIPCService::GetSmscAddress(uint32_t aServiceId,
|
||||||
return SendRequest(GetSmscAddressRequest(aServiceId), aRequest);
|
return SendRequest(GetSmscAddressRequest(aServiceId), aRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
NS_IMETHODIMP
|
||||||
|
SmsIPCService::SetSmscAddress(uint32_t aServiceId,
|
||||||
|
const nsAString& aNumber,
|
||||||
|
uint32_t aTypeOfNumber,
|
||||||
|
uint32_t aNumberPlanIdentification,
|
||||||
|
nsIMobileMessageCallback* aRequest)
|
||||||
|
{
|
||||||
|
return SendRequest(SetSmscAddressRequest(aServiceId,
|
||||||
|
nsString(aNumber),
|
||||||
|
aTypeOfNumber,
|
||||||
|
aNumberPlanIdentification),
|
||||||
|
aRequest);
|
||||||
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
SmsIPCService::Send(uint32_t aServiceId,
|
SmsIPCService::Send(uint32_t aServiceId,
|
||||||
const nsAString& aNumber,
|
const nsAString& aNumber,
|
||||||
|
|
|
@ -406,6 +406,8 @@ SmsParent::RecvPSmsRequestConstructor(PSmsRequestParent* aActor,
|
||||||
return actor->DoRequest(aRequest.get_GetSegmentInfoForTextRequest());
|
return actor->DoRequest(aRequest.get_GetSegmentInfoForTextRequest());
|
||||||
case IPCSmsRequest::TGetSmscAddressRequest:
|
case IPCSmsRequest::TGetSmscAddressRequest:
|
||||||
return actor->DoRequest(aRequest.get_GetSmscAddressRequest());
|
return actor->DoRequest(aRequest.get_GetSmscAddressRequest());
|
||||||
|
case IPCSmsRequest::TSetSmscAddressRequest:
|
||||||
|
return actor->DoRequest(aRequest.get_SetSmscAddressRequest());
|
||||||
default:
|
default:
|
||||||
MOZ_CRASH("Unknown type!");
|
MOZ_CRASH("Unknown type!");
|
||||||
}
|
}
|
||||||
|
@ -574,6 +576,29 @@ SmsRequestParent::DoRequest(const GetSmscAddressRequest& aRequest)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
SmsRequestParent::DoRequest(const SetSmscAddressRequest& aRequest)
|
||||||
|
{
|
||||||
|
nsresult rv = NS_ERROR_FAILURE;
|
||||||
|
|
||||||
|
nsCOMPtr<nsISmsService> smsService = do_GetService(SMS_SERVICE_CONTRACTID);
|
||||||
|
if (smsService) {
|
||||||
|
rv = smsService->SetSmscAddress(aRequest.serviceId(),
|
||||||
|
aRequest.number(),
|
||||||
|
aRequest.typeOfNumber(),
|
||||||
|
aRequest.numberPlanIdentification(),
|
||||||
|
this);
|
||||||
|
} else {
|
||||||
|
return NS_SUCCEEDED(NotifySetSmscAddressFailed(nsIMobileMessageCallback::INTERNAL_ERROR));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (NS_FAILED(rv)) {
|
||||||
|
return NS_SUCCEEDED(NotifySetSmscAddressFailed(nsIMobileMessageCallback::INTERNAL_ERROR));
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
SmsRequestParent::DoRequest(const DeleteMessageRequest& aRequest)
|
SmsRequestParent::DoRequest(const DeleteMessageRequest& aRequest)
|
||||||
{
|
{
|
||||||
|
@ -746,6 +771,18 @@ SmsRequestParent::NotifyGetSmscAddressFailed(int32_t aError)
|
||||||
return SendReply(ReplyGetSmscAddressFail(aError));
|
return SendReply(ReplyGetSmscAddressFail(aError));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NS_IMETHODIMP
|
||||||
|
SmsRequestParent::NotifySetSmscAddress()
|
||||||
|
{
|
||||||
|
return SendReply(ReplySetSmscAddress());
|
||||||
|
}
|
||||||
|
|
||||||
|
NS_IMETHODIMP
|
||||||
|
SmsRequestParent::NotifySetSmscAddressFailed(int32_t aError)
|
||||||
|
{
|
||||||
|
return SendReply(ReplySetSmscAddressFail(aError));
|
||||||
|
}
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* MobileMessageCursorParent
|
* MobileMessageCursorParent
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
|
@ -117,6 +117,9 @@ protected:
|
||||||
bool
|
bool
|
||||||
DoRequest(const GetSmscAddressRequest& aRequest);
|
DoRequest(const GetSmscAddressRequest& aRequest);
|
||||||
|
|
||||||
|
bool
|
||||||
|
DoRequest(const SetSmscAddressRequest& aRequest);
|
||||||
|
|
||||||
nsresult
|
nsresult
|
||||||
SendReply(const MessageReply& aReply);
|
SendReply(const MessageReply& aReply);
|
||||||
};
|
};
|
||||||
|
|
Загрузка…
Ссылка в новой задаче