dom/mobilemessage/ipc/PSmsRequest.ipdl
author Ryan VanderMeulen <ryanvm@gmail.com>
Wed, 29 Jul 2015 10:04:25 -0400
changeset 222182 d1ed7de67f5a16325716cbfa3ca79dbe6284049f
parent 217072 dbc8333984a32a6037b149cfafd038729c2bdf90
permissions -rw-r--r--
Added tag B2G_2_1_END for changeset 41e10c6740be on a CLOSED TREE

/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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 PSms;
include protocol PBlob;
include SmsTypes;

using struct mozilla::void_t from "ipc/IPCMessageUtils.h";

namespace mozilla {
namespace dom {
namespace mobilemessage {

protocol PSmsRequest
{
  manager PSms;

child:
  /**
   * Sent when the asynchronous request has completed.
   */
  __delete__(MessageReply response);
};

struct ReplyMessageSend
{
  MobileMessageData messageData;
};

union OptionalMobileMessageData
{
  void_t;
  MobileMessageData;
};

struct ReplyMessageSendFail
{
  int32_t error;
  OptionalMobileMessageData messageData;
};

struct ReplyGetMessage
{
  MobileMessageData messageData;
};

struct ReplyGetMessageFail
{
  int32_t error;
};

struct ReplyMessageDelete
{
  bool[] deleted;
};

struct ReplyMessageDeleteFail
{
  int32_t error;
};

struct ReplyMarkeMessageRead
{
  bool read;
};

struct ReplyMarkeMessageReadFail
{
  int32_t error;
};

struct ReplyGetSegmentInfoForText
{
  int32_t segments;
  int32_t charsPerSegment;
  int32_t charsAvailableInLastSegment;
};

struct ReplyGetSegmentInfoForTextFail
{
  int32_t error;
};

struct ReplyGetSmscAddress
{
  nsString smscAddress;
};

struct ReplyGetSmscAddressFail
{
  int32_t error;
};

union MessageReply
{
  ReplyMessageSend;
  ReplyMessageSendFail;
  ReplyGetMessage;
  ReplyGetMessageFail;
  ReplyMessageDelete;
  ReplyMessageDeleteFail;
  ReplyMarkeMessageRead;
  ReplyMarkeMessageReadFail;
  ReplyGetSegmentInfoForText;
  ReplyGetSegmentInfoForTextFail;
  ReplyGetSmscAddress;
  ReplyGetSmscAddressFail;
};

} // namespace mobilemessage
} // namespace dom
} // namespace mozilla