/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set sw=2 ts=8 et ft=cpp : */ /* 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 protocol PContent; include protocol PSmsRequest; include protocol PMobileMessageCursor; include protocol PBlob; include SmsTypes; namespace mozilla { namespace dom { namespace mobilemessage { struct SendMmsMessageRequest { uint32_t serviceId; nsString[] receivers; nsString subject; nsString smil; MmsAttachmentData[] attachments; }; struct SendSmsMessageRequest { uint32_t serviceId; nsString number; nsString message; bool silent; }; union SendMessageRequest { SendMmsMessageRequest; SendSmsMessageRequest; }; struct RetrieveMessageRequest { int32_t messageId; }; struct GetMessageRequest { int32_t messageId; }; struct DeleteMessageRequest { int32_t[] messageIds; }; struct CreateMessageCursorRequest { SmsFilterData filter; bool reverse; }; struct MarkMessageReadRequest { int32_t messageId; bool value; bool sendReadReport; }; struct GetSegmentInfoForTextRequest { nsString text; }; struct CreateThreadCursorRequest { }; struct GetSmscAddressRequest { uint32_t serviceId; }; struct SetSmscAddressRequest { uint32_t serviceId; nsString number; uint32_t typeOfNumber; uint32_t numberPlanIdentification; }; union IPCSmsRequest { SendMessageRequest; RetrieveMessageRequest; GetMessageRequest; DeleteMessageRequest; MarkMessageReadRequest; GetSegmentInfoForTextRequest; GetSmscAddressRequest; SetSmscAddressRequest; }; union IPCMobileMessageCursor { CreateMessageCursorRequest; CreateThreadCursorRequest; }; sync protocol PSms { manager PContent; manages PSmsRequest; manages PMobileMessageCursor; child: NotifyReceivedMessage(MobileMessageData aMessageData); NotifyRetrievingMessage(MobileMessageData aMessageData); NotifySendingMessage(MobileMessageData aMessageData); NotifySentMessage(MobileMessageData aMessageData); NotifyFailedMessage(MobileMessageData aMessageData); NotifyDeliverySuccessMessage(MobileMessageData aMessageData); NotifyDeliveryErrorMessage(MobileMessageData aMessageData); NotifyReceivedSilentMessage(MobileMessageData aMessageData); NotifyReadSuccessMessage(MobileMessageData aMessageData); NotifyReadErrorMessage(MobileMessageData aMessageData); NotifyDeletedMessageInfo(DeletedMessageInfoData aDeletedInfo); parent: /** * Sent when the child no longer needs to use sms. */ __delete__(); /** * Sent when the child makes an asynchronous request to the parent. */ PSmsRequest(IPCSmsRequest request); /** * Sent when the child makes an asynchronous cursor to the parent. */ PMobileMessageCursor(IPCMobileMessageCursor request); AddSilentNumber(nsString aNumber); RemoveSilentNumber(nsString aNumber); }; } // namespace mobilemessage } // namespace dom } // namespace mozilla