michael@0: /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* vim: set sw=2 ts=8 et ft=cpp : */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this file, michael@0: * You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: include protocol PContent; michael@0: include protocol PSmsRequest; michael@0: include protocol PMobileMessageCursor; michael@0: include protocol PBlob; michael@0: include SmsTypes; michael@0: michael@0: namespace mozilla { michael@0: namespace dom { michael@0: namespace mobilemessage { michael@0: michael@0: struct SendMmsMessageRequest michael@0: { michael@0: uint32_t serviceId; michael@0: nsString[] receivers; michael@0: nsString subject; michael@0: nsString smil; michael@0: MmsAttachmentData[] attachments; michael@0: }; michael@0: michael@0: struct SendSmsMessageRequest michael@0: { michael@0: uint32_t serviceId; michael@0: nsString number; michael@0: nsString message; michael@0: bool silent; michael@0: }; michael@0: michael@0: union SendMessageRequest michael@0: { michael@0: SendMmsMessageRequest; michael@0: SendSmsMessageRequest; michael@0: }; michael@0: michael@0: struct RetrieveMessageRequest michael@0: { michael@0: int32_t messageId; michael@0: }; michael@0: michael@0: struct GetMessageRequest michael@0: { michael@0: int32_t messageId; michael@0: }; michael@0: michael@0: struct DeleteMessageRequest michael@0: { michael@0: int32_t[] messageIds; michael@0: }; michael@0: michael@0: struct CreateMessageCursorRequest michael@0: { michael@0: SmsFilterData filter; michael@0: bool reverse; michael@0: }; michael@0: michael@0: struct MarkMessageReadRequest michael@0: { michael@0: int32_t messageId; michael@0: bool value; michael@0: bool sendReadReport; michael@0: }; michael@0: michael@0: struct GetSegmentInfoForTextRequest michael@0: { michael@0: nsString text; michael@0: }; michael@0: michael@0: struct CreateThreadCursorRequest michael@0: { michael@0: }; michael@0: michael@0: struct GetSmscAddressRequest michael@0: { michael@0: uint32_t serviceId; michael@0: }; michael@0: michael@0: union IPCSmsRequest michael@0: { michael@0: SendMessageRequest; michael@0: RetrieveMessageRequest; michael@0: GetMessageRequest; michael@0: DeleteMessageRequest; michael@0: MarkMessageReadRequest; michael@0: GetSegmentInfoForTextRequest; michael@0: GetSmscAddressRequest; michael@0: }; michael@0: michael@0: union IPCMobileMessageCursor michael@0: { michael@0: CreateMessageCursorRequest; michael@0: CreateThreadCursorRequest; michael@0: }; michael@0: michael@0: sync protocol PSms { michael@0: manager PContent; michael@0: manages PSmsRequest; michael@0: manages PMobileMessageCursor; michael@0: michael@0: child: michael@0: NotifyReceivedMessage(MobileMessageData aMessageData); michael@0: michael@0: NotifyRetrievingMessage(MobileMessageData aMessageData); michael@0: michael@0: NotifySendingMessage(MobileMessageData aMessageData); michael@0: michael@0: NotifySentMessage(MobileMessageData aMessageData); michael@0: michael@0: NotifyFailedMessage(MobileMessageData aMessageData); michael@0: michael@0: NotifyDeliverySuccessMessage(MobileMessageData aMessageData); michael@0: michael@0: NotifyDeliveryErrorMessage(MobileMessageData aMessageData); michael@0: michael@0: NotifyReceivedSilentMessage(MobileMessageData aMessageData); michael@0: michael@0: NotifyReadSuccessMessage(MobileMessageData aMessageData); michael@0: michael@0: NotifyReadErrorMessage(MobileMessageData aMessageData); michael@0: michael@0: parent: michael@0: /** michael@0: * Sent when the child no longer needs to use sms. michael@0: */ michael@0: __delete__(); michael@0: michael@0: /** michael@0: * Sent when the child makes an asynchronous request to the parent. michael@0: */ michael@0: PSmsRequest(IPCSmsRequest request); michael@0: michael@0: /** michael@0: * Sent when the child makes an asynchronous cursor to the parent. michael@0: */ michael@0: PMobileMessageCursor(IPCMobileMessageCursor request); michael@0: michael@0: AddSilentNumber(nsString aNumber); michael@0: RemoveSilentNumber(nsString aNumber); michael@0: }; michael@0: michael@0: } // namespace mobilemessage michael@0: } // namespace dom michael@0: } // namespace mozilla