зеркало из https://github.com/mozilla/gecko-dev.git
Bug 843445 - B2G MMS: provide nsIDOMMobileMessageManager.retrieveMMS() to retrieve MMS for the deferred retrieval mode, part-1:idl part. r=vyang, sr=sicking
This commit is contained in:
Родитель
9bc79ca658
Коммит
a5288573b4
|
@ -10,9 +10,12 @@ interface nsIDOMBlob;
|
|||
#define RIL_MMSSERVICE_CONTRACTID "@mozilla.org/mms/rilmmsservice;1"
|
||||
%}
|
||||
|
||||
[scriptable, uuid(3ec33286-8559-11e2-9f38-e76b58650568)]
|
||||
[scriptable, uuid(e5ef630a-eab7-425a-ac42-650ef5c4fcef)]
|
||||
interface nsIMmsService : nsISupports
|
||||
{
|
||||
void send(in jsval parameters /* MmsParameters */,
|
||||
in nsIMobileMessageCallback request);
|
||||
|
||||
void retrieve(in long id,
|
||||
in nsIMobileMessageCallback request);
|
||||
};
|
||||
|
|
|
@ -15,7 +15,16 @@ interface nsIRilMobileMessageDatabaseCallback : nsISupports
|
|||
void notify(in nsresult aRv, in nsISupports aDomMessage);
|
||||
};
|
||||
|
||||
[scriptable, uuid(a31b1716-8631-11e2-afaa-2fbd087f426e)]
|
||||
[scriptable, function, uuid(2be52603-5885-412c-9225-f78a78f1bbbd)]
|
||||
interface nsIRilMobileMessageDatabaseRecordCallback : nsISupports
|
||||
{
|
||||
/**
|
||||
* |aMessageRecord| Object: the mobile-message database record
|
||||
*/
|
||||
void notify(in nsresult aRv, in jsval aMessageRecord);
|
||||
};
|
||||
|
||||
[scriptable, uuid(8f49216f-bc0c-420e-b77e-7f1cbdcd245f)]
|
||||
interface nsIRilMobileMessageDatabaseService : nsIMobileMessageDatabaseService
|
||||
{
|
||||
/**
|
||||
|
@ -65,4 +74,12 @@ interface nsIRilMobileMessageDatabaseService : nsIMobileMessageDatabaseService
|
|||
in DOMString aDelivery,
|
||||
in DOMString aDeliveryStatus,
|
||||
[optional] in nsIRilMobileMessageDatabaseCallback aCallback);
|
||||
|
||||
/**
|
||||
* |aMessageId| Number: the message's DB record ID.
|
||||
* |aCallback| nsIRilMobileMessageDatabaseCallback: a callback which takes
|
||||
* result flag and message record as parameters.
|
||||
*/
|
||||
void getMessageRecordById(in long aMessageId,
|
||||
in nsIRilMobileMessageDatabaseRecordCallback aCallback);
|
||||
};
|
||||
|
|
|
@ -337,6 +337,23 @@ MobileMessageManager::GetThreads(nsIDOMDOMCursor** aCursor)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MobileMessageManager::RetrieveMMS(int32_t id,
|
||||
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->Retrieve(id, msgCallback);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
request.forget(aRequest);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult
|
||||
MobileMessageManager::DispatchTrustedSmsEventToSelf(const nsAString& aEventName,
|
||||
nsIDOMMozSmsMessage* aMessage)
|
||||
|
|
Загрузка…
Ссылка в новой задаче