Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  PPaymentRequest.ipdl   Sprache: unbekannt

 
/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
/* vim: set sw=4 ts=8 et tw=80 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 PBrowser;

include "mozilla/dom/PermissionMessageUtils.h";

[RefCounted] using class nsIPrincipal from "nsIPrincipal.h";

namespace mozilla {
namespace dom {

struct IPCPaymentMethodData
{
  nsString supportedMethods;
  nsString data;
};

struct IPCPaymentCurrencyAmount
{
  nsString currency;
  nsString value;
};

struct IPCPaymentItem
{
  nsString label;
  IPCPaymentCurrencyAmount amount;
  bool pending;
};

struct IPCPaymentDetailsModifier
{
  nsString supportedMethods;
  IPCPaymentItem total;
  IPCPaymentItem[] additionalDisplayItems;
  nsString data;
  bool additionalDisplayItemsPassed;
};

struct IPCPaymentShippingOption
{
  nsString id;
  nsString label;
  IPCPaymentCurrencyAmount amount;
  bool selected;
};

struct IPCPaymentDetails
{
  nsString id;
  IPCPaymentItem total;
  IPCPaymentItem[] displayItems;
  IPCPaymentShippingOption[] shippingOptions;
  IPCPaymentDetailsModifier[] modifiers;
  nsString error;
  nsString shippingAddressErrors;
  nsString payerErrors;
  nsString paymentMethodErrors;
};

struct IPCPaymentOptions
{
  bool requestPayerName;
  bool requestPayerEmail;
  bool requestPayerPhone;
  bool requestShipping;
  bool requestBillingAddress;
  nsString shippingType;
};

struct IPCPaymentCreateActionRequest
{
  uint64_t topOuterWindowId;
  nsString requestId;
  nullable nsIPrincipal topLevelPrincipal;
  IPCPaymentMethodData[] methodData;
  IPCPaymentDetails details;
  IPCPaymentOptions options;
  nsString shippingOption;
};

struct IPCPaymentCanMakeActionRequest
{
  nsString requestId;
};

struct IPCPaymentShowActionRequest
{
  nsString requestId;
  bool isUpdating;
};

struct IPCPaymentAbortActionRequest
{
  nsString requestId;
};

struct IPCPaymentCompleteActionRequest
{
  nsString requestId;
  nsString completeStatus;
};

struct IPCPaymentUpdateActionRequest
{
  nsString requestId;
  IPCPaymentDetails details;
  nsString shippingOption;
};

struct IPCPaymentCloseActionRequest
{
  nsString requestId;
};

struct IPCPaymentRetryActionRequest
{
  nsString requestId;
  nsString error;
  nsString payerErrors;
  nsString paymentMethodErrors;
  nsString shippingAddressErrors;
};

union IPCPaymentActionRequest
{
  IPCPaymentCreateActionRequest;
  IPCPaymentCanMakeActionRequest;
  IPCPaymentShowActionRequest;
  IPCPaymentAbortActionRequest;
  IPCPaymentCompleteActionRequest;
  IPCPaymentUpdateActionRequest;
  IPCPaymentCloseActionRequest;
  IPCPaymentRetryActionRequest;
};

struct IPCPaymentCanMakeActionResponse
{
  nsString requestId;
  bool result;
};

struct IPCPaymentAddress
{
  nsString country;
  nsString[] addressLine;
  nsString region;
  nsString regionCode;
  nsString city;
  nsString dependentLocality;
  nsString postalCode;
  nsString sortingCode;
  nsString organization;
  nsString recipient;
  nsString phone;
};

struct IPCGeneralResponse
{
  nsString data;
};

struct IPCBasicCardResponse
{
  nsString cardholderName;
  nsString cardNumber;
  nsString expiryMonth;
  nsString expiryYear;
  nsString cardSecurityCode;
  IPCPaymentAddress billingAddress;
};

union IPCPaymentResponseData
{
  IPCGeneralResponse;
  IPCBasicCardResponse;
};

struct IPCPaymentShowActionResponse
{
  nsString requestId;
  uint32_t status;
  nsString methodName;
  IPCPaymentResponseData data;
  nsString payerName;
  nsString payerEmail;
  nsString payerPhone;
};

struct IPCPaymentAbortActionResponse
{
  nsString requestId;
  bool isSucceeded;
};

struct IPCPaymentCompleteActionResponse
{
  nsString requestId;
  bool isCompleted;
};

union IPCPaymentActionResponse
{
  IPCPaymentCanMakeActionResponse;
  IPCPaymentShowActionResponse;
  IPCPaymentAbortActionResponse;
  IPCPaymentCompleteActionResponse;
};

struct IPCGeneralChangeDetails
{
  nsString details;
};

struct IPCBasicCardChangeDetails
{
  IPCPaymentAddress billingAddress;
};

union IPCMethodChangeDetails
{
  IPCGeneralChangeDetails;
  IPCBasicCardChangeDetails;
};

[ManualDealloc]
sync protocol PPaymentRequest
{
  manager PBrowser;

parent:
  async __delete__();

  async RequestPayment(IPCPaymentActionRequest aAction);

child:
  async RespondPayment(IPCPaymentActionResponse aResponse);
  async ChangeShippingAddress(nsString aRequestId,
                              IPCPaymentAddress aAddress);
  async ChangeShippingOption(nsString aRequestId,
                             nsString aOption);
  async ChangePayerDetail(nsString aRequestId,
                          nsString aPayerName,
                          nsString aPayerEmail,
                          nsString aPayerPhone);
  async ChangePaymentMethod(nsString aRequestId,
                            nsString aMethodName,
                            IPCMethodChangeDetails aMethodDetails);
};

} // end of namespace dom
} // end of namespace mozilla

[ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge