mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 21:31:04 +00:00
ce3a9b21da
Depends on D145756 Differential Revision: https://phabricator.services.mozilla.com/D145757
193 lines
4.6 KiB
C++
193 lines
4.6 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=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/. */
|
|
|
|
#ifndef mozilla_dom_PaymentActionResponse_h
|
|
#define mozilla_dom_PaymentActionResponse_h
|
|
|
|
#include "nsCOMPtr.h"
|
|
#include "nsIPaymentActionResponse.h"
|
|
#include "nsString.h"
|
|
|
|
namespace mozilla::dom {
|
|
|
|
class PaymentRequestParent;
|
|
|
|
class PaymentResponseData : public nsIPaymentResponseData {
|
|
public:
|
|
NS_DECL_ISUPPORTS
|
|
NS_DECL_NSIPAYMENTRESPONSEDATA
|
|
|
|
PaymentResponseData() = default;
|
|
|
|
protected:
|
|
virtual ~PaymentResponseData() = default;
|
|
|
|
uint32_t mType;
|
|
};
|
|
|
|
class GeneralResponseData final : public PaymentResponseData,
|
|
public nsIGeneralResponseData {
|
|
public:
|
|
NS_DECL_ISUPPORTS_INHERITED
|
|
NS_FORWARD_NSIPAYMENTRESPONSEDATA(PaymentResponseData::)
|
|
NS_DECL_NSIGENERALRESPONSEDATA
|
|
|
|
GeneralResponseData();
|
|
|
|
private:
|
|
~GeneralResponseData() = default;
|
|
|
|
nsString mData;
|
|
};
|
|
|
|
class BasicCardResponseData final : public nsIBasicCardResponseData,
|
|
public PaymentResponseData {
|
|
public:
|
|
NS_DECL_ISUPPORTS_INHERITED
|
|
NS_FORWARD_NSIPAYMENTRESPONSEDATA(PaymentResponseData::)
|
|
NS_DECL_NSIBASICCARDRESPONSEDATA
|
|
|
|
BasicCardResponseData();
|
|
|
|
private:
|
|
~BasicCardResponseData() = default;
|
|
|
|
nsString mCardholderName;
|
|
nsString mCardNumber;
|
|
nsString mExpiryMonth;
|
|
nsString mExpiryYear;
|
|
nsString mCardSecurityCode;
|
|
nsCOMPtr<nsIPaymentAddress> mBillingAddress;
|
|
};
|
|
|
|
class PaymentActionResponse : public nsIPaymentActionResponse {
|
|
public:
|
|
NS_DECL_ISUPPORTS
|
|
NS_DECL_NSIPAYMENTACTIONRESPONSE
|
|
|
|
PaymentActionResponse();
|
|
|
|
protected:
|
|
virtual ~PaymentActionResponse() = default;
|
|
|
|
nsString mRequestId;
|
|
uint32_t mType;
|
|
};
|
|
|
|
class PaymentCanMakeActionResponse final
|
|
: public nsIPaymentCanMakeActionResponse,
|
|
public PaymentActionResponse {
|
|
public:
|
|
NS_DECL_ISUPPORTS_INHERITED
|
|
NS_FORWARD_NSIPAYMENTACTIONRESPONSE(PaymentActionResponse::)
|
|
NS_DECL_NSIPAYMENTCANMAKEACTIONRESPONSE
|
|
|
|
PaymentCanMakeActionResponse();
|
|
|
|
private:
|
|
~PaymentCanMakeActionResponse() = default;
|
|
|
|
bool mResult;
|
|
};
|
|
|
|
class PaymentShowActionResponse final : public nsIPaymentShowActionResponse,
|
|
public PaymentActionResponse {
|
|
public:
|
|
NS_DECL_ISUPPORTS_INHERITED
|
|
NS_FORWARD_NSIPAYMENTACTIONRESPONSE(PaymentActionResponse::)
|
|
NS_DECL_NSIPAYMENTSHOWACTIONRESPONSE
|
|
|
|
PaymentShowActionResponse();
|
|
|
|
private:
|
|
~PaymentShowActionResponse() = default;
|
|
|
|
uint32_t mAcceptStatus;
|
|
nsString mMethodName;
|
|
nsCOMPtr<nsIPaymentResponseData> mData;
|
|
nsString mPayerName;
|
|
nsString mPayerEmail;
|
|
nsString mPayerPhone;
|
|
};
|
|
|
|
class PaymentAbortActionResponse final : public nsIPaymentAbortActionResponse,
|
|
public PaymentActionResponse {
|
|
public:
|
|
NS_DECL_ISUPPORTS_INHERITED
|
|
NS_FORWARD_NSIPAYMENTACTIONRESPONSE(PaymentActionResponse::)
|
|
NS_DECL_NSIPAYMENTABORTACTIONRESPONSE
|
|
|
|
PaymentAbortActionResponse();
|
|
|
|
private:
|
|
~PaymentAbortActionResponse() = default;
|
|
|
|
uint32_t mAbortStatus;
|
|
};
|
|
|
|
class PaymentCompleteActionResponse final
|
|
: public nsIPaymentCompleteActionResponse,
|
|
public PaymentActionResponse {
|
|
public:
|
|
NS_DECL_ISUPPORTS_INHERITED
|
|
NS_FORWARD_NSIPAYMENTACTIONRESPONSE(PaymentActionResponse::)
|
|
NS_DECL_NSIPAYMENTCOMPLETEACTIONRESPONSE
|
|
|
|
PaymentCompleteActionResponse();
|
|
|
|
private:
|
|
~PaymentCompleteActionResponse() = default;
|
|
|
|
uint32_t mCompleteStatus;
|
|
};
|
|
|
|
class MethodChangeDetails : public nsIMethodChangeDetails {
|
|
public:
|
|
NS_DECL_ISUPPORTS
|
|
NS_DECL_NSIMETHODCHANGEDETAILS
|
|
|
|
MethodChangeDetails() = default;
|
|
|
|
protected:
|
|
virtual ~MethodChangeDetails() = default;
|
|
|
|
uint32_t mType;
|
|
};
|
|
|
|
class GeneralMethodChangeDetails final : public MethodChangeDetails,
|
|
public nsIGeneralChangeDetails {
|
|
public:
|
|
NS_DECL_ISUPPORTS_INHERITED
|
|
NS_FORWARD_NSIMETHODCHANGEDETAILS(MethodChangeDetails::)
|
|
NS_DECL_NSIGENERALCHANGEDETAILS
|
|
|
|
GeneralMethodChangeDetails();
|
|
|
|
private:
|
|
~GeneralMethodChangeDetails() = default;
|
|
|
|
nsString mDetails;
|
|
};
|
|
|
|
class BasicCardMethodChangeDetails final : public MethodChangeDetails,
|
|
public nsIBasicCardChangeDetails {
|
|
public:
|
|
NS_DECL_ISUPPORTS_INHERITED
|
|
NS_FORWARD_NSIMETHODCHANGEDETAILS(MethodChangeDetails::)
|
|
NS_DECL_NSIBASICCARDCHANGEDETAILS
|
|
|
|
BasicCardMethodChangeDetails();
|
|
|
|
private:
|
|
~BasicCardMethodChangeDetails() = default;
|
|
|
|
nsCOMPtr<nsIPaymentAddress> mBillingAddress;
|
|
};
|
|
|
|
} // namespace mozilla::dom
|
|
|
|
#endif
|