/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" %{C++ #define MOBILE_MESSAGE_DATABASE_SERVICE_CID \ { 0x0d84b9c2, 0x8f76, 0x4ba4, \ { 0xa5, 0xcd, 0xdb, 0xfb, 0x01, 0xdf, 0xda, 0x99 } } #define MOBILE_MESSAGE_DATABASE_SERVICE_CONTRACTID "@mozilla.org/mobilemessage/mobilemessagedatabaseservice;1" %} interface nsICursorContinueCallback; interface nsIMobileMessageCallback; interface nsIMobileMessageCursorCallback; [scriptable, uuid(18672be2-c185-4f9c-8af6-2e6ea004de73)] interface nsIMobileMessageDatabaseService : nsISupports { [binaryname(GetMessageMoz)] void getMessage(in long messageId, in nsIMobileMessageCallback request); void deleteMessage([array, size_is(count)] in long messageIds, in uint32_t count, in nsIMobileMessageCallback request); nsICursorContinueCallback createMessageCursor(in boolean hasStartDate, in unsigned long long startDate, in boolean hasEndDate, in unsigned long long endDate, [array, size_is(numbersCount)] in wstring numbers, in uint32_t numbersCount, [Null(Null), Undefined(Null)] in DOMString delivery, in boolean hasRead, in boolean read, in boolean hasThreadId, in unsigned long long threadId, in boolean reverse, in nsIMobileMessageCursorCallback callback); void markMessageRead(in long messageId, in boolean value, in boolean sendReadReport, in nsIMobileMessageCallback request); nsICursorContinueCallback createThreadCursor(in nsIMobileMessageCursorCallback callback); }; %{C++ template struct already_AddRefed; already_AddRefed NS_CreateMobileMessageDatabaseService(); %}