Bug 844431 - B2G MMS: provide nsIDOMMobileMessageManager interface (with sendMMS() first) (part 5, nsIDOMMobileMessageManager.send()). r=vicamo,mounir sr=sicking a=leo+

This commit is contained in:
Gene Lian 2013-03-09 15:22:32 +08:00
Родитель b6c241f1ba
Коммит 8a2fb9fe00
3 изменённых файлов: 28 добавлений и 1 удалений

Просмотреть файл

@ -6,6 +6,10 @@
interface nsIMobileMessageCallback;
interface nsIDOMBlob;
%{C++
#define RIL_MMSSERVICE_CONTRACTID "@mozilla.org/mms/rilmmsservice;1"
%}
[scriptable, uuid(3ec33286-8559-11e2-9f38-e76b58650568)]
interface nsIMmsService : nsISupports
{

Просмотреть файл

@ -8,6 +8,8 @@ interface nsIDOMEventListener;
interface nsIDOMMozSmsRequest;
interface nsIDOMMozSmsFilter;
interface nsIDOMMozSmsSegmentInfo;
interface nsIDOMDOMRequest;
interface nsIDOMBlob;
dictionary MmsParameters
{
@ -17,7 +19,7 @@ dictionary MmsParameters
jsval attachments; // MmsAttachment[]
};
[scriptable, builtinclass, uuid(228508d0-7fe4-11e2-a028-83810f98f20b)]
[scriptable, builtinclass, uuid(f020e48e-84c7-11e2-939e-53a3106dde16)]
interface nsIDOMMozMobileMessageManager : nsIDOMEventTarget
{
nsIDOMMozSmsSegmentInfo getSegmentInfoForText(in DOMString text);
@ -28,6 +30,8 @@ interface nsIDOMMozMobileMessageManager : nsIDOMEventTarget
// An array of SmsRequest objects otherwise.
jsval send(in jsval number, in DOMString message);
nsIDOMDOMRequest sendMMS(in jsval parameters /* MmsParameters */);
[binaryname(GetMessageMoz)]
nsIDOMMozSmsRequest getMessage(in long id);

Просмотреть файл

@ -7,6 +7,7 @@
#include "MobileMessageManager.h"
#include "nsIDOMClassInfo.h"
#include "nsISmsService.h"
#include "nsIMmsService.h"
#include "nsIObserverService.h"
#include "mozilla/Preferences.h"
#include "mozilla/Services.h"
@ -20,6 +21,9 @@
#include "nsIXPConnect.h"
#include "nsIPermissionManager.h"
#include "GeneratedEvents.h"
#include "DOMRequest.h"
#include "nsIMobileMessageCallback.h"
#include "MobileMessageCallback.h"
#define RECEIVED_EVENT_NAME NS_LITERAL_STRING("received")
#define SENDING_EVENT_NAME NS_LITERAL_STRING("sending")
@ -173,6 +177,21 @@ MobileMessageManager::Send(const jsval& aNumber, const nsAString& aMessage, jsva
return NS_OK;
}
NS_IMETHODIMP
MobileMessageManager::SendMMS(const JS::Value& aParams, nsIDOMDOMRequest** aRequest)
{
nsCOMPtr<nsIMmsService> mmsService = do_GetService(RIL_MMSSERVICE_CONTRACTID);
NS_ENSURE_TRUE(mmsService, NS_ERROR_FAILURE);
nsRefPtr<DOMRequest> request = new DOMRequest(GetOwner());
nsCOMPtr<nsIMobileMessageCallback> msgCallback = new MobileMessageCallback(request);
nsresult rv = mmsService->Send(aParams, msgCallback);
NS_ENSURE_SUCCESS(rv, rv);
request.forget(aRequest);
return NS_OK;
}
NS_IMETHODIMP
MobileMessageManager::GetMessageMoz(int32_t aId, nsIDOMMozSmsRequest** aRequest)
{