Bug 1560374 - Set testharness and reftest web-platform-tests to Tier-1; r=jmaher...
[gecko.git] / dom / payments / PaymentActionResponse.h
blob6def426bc902a44710f875b87c12c84867cc8453
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef mozilla_dom_PaymentActionResponse_h
8 #define mozilla_dom_PaymentActionResponse_h
10 #include "nsIPaymentActionResponse.h"
12 namespace mozilla {
13 namespace dom {
15 class PaymentRequestParent;
17 class PaymentResponseData : public nsIPaymentResponseData {
18 public:
19 NS_DECL_ISUPPORTS
20 NS_DECL_NSIPAYMENTRESPONSEDATA
22 PaymentResponseData() = default;
24 protected:
25 virtual ~PaymentResponseData() = default;
27 uint32_t mType;
30 class GeneralResponseData final : public PaymentResponseData,
31 public nsIGeneralResponseData {
32 public:
33 NS_DECL_ISUPPORTS_INHERITED
34 NS_FORWARD_NSIPAYMENTRESPONSEDATA(PaymentResponseData::)
35 NS_DECL_NSIGENERALRESPONSEDATA
37 GeneralResponseData();
39 private:
40 ~GeneralResponseData() = default;
42 nsString mData;
45 class BasicCardResponseData final : public nsIBasicCardResponseData,
46 public PaymentResponseData {
47 public:
48 NS_DECL_ISUPPORTS_INHERITED
49 NS_FORWARD_NSIPAYMENTRESPONSEDATA(PaymentResponseData::)
50 NS_DECL_NSIBASICCARDRESPONSEDATA
52 BasicCardResponseData();
54 private:
55 ~BasicCardResponseData() = default;
57 nsString mCardholderName;
58 nsString mCardNumber;
59 nsString mExpiryMonth;
60 nsString mExpiryYear;
61 nsString mCardSecurityCode;
62 nsCOMPtr<nsIPaymentAddress> mBillingAddress;
65 class PaymentActionResponse : public nsIPaymentActionResponse {
66 public:
67 NS_DECL_ISUPPORTS
68 NS_DECL_NSIPAYMENTACTIONRESPONSE
70 PaymentActionResponse();
72 protected:
73 virtual ~PaymentActionResponse() = default;
75 nsString mRequestId;
76 uint32_t mType;
79 class PaymentCanMakeActionResponse final
80 : public nsIPaymentCanMakeActionResponse,
81 public PaymentActionResponse {
82 public:
83 NS_DECL_ISUPPORTS_INHERITED
84 NS_FORWARD_NSIPAYMENTACTIONRESPONSE(PaymentActionResponse::)
85 NS_DECL_NSIPAYMENTCANMAKEACTIONRESPONSE
87 PaymentCanMakeActionResponse();
89 private:
90 ~PaymentCanMakeActionResponse() = default;
92 bool mResult;
95 class PaymentShowActionResponse final : public nsIPaymentShowActionResponse,
96 public PaymentActionResponse {
97 public:
98 NS_DECL_ISUPPORTS_INHERITED
99 NS_FORWARD_NSIPAYMENTACTIONRESPONSE(PaymentActionResponse::)
100 NS_DECL_NSIPAYMENTSHOWACTIONRESPONSE
102 PaymentShowActionResponse();
104 private:
105 ~PaymentShowActionResponse() = default;
107 uint32_t mAcceptStatus;
108 nsString mMethodName;
109 nsCOMPtr<nsIPaymentResponseData> mData;
110 nsString mPayerName;
111 nsString mPayerEmail;
112 nsString mPayerPhone;
115 class PaymentAbortActionResponse final : public nsIPaymentAbortActionResponse,
116 public PaymentActionResponse {
117 public:
118 NS_DECL_ISUPPORTS_INHERITED
119 NS_FORWARD_NSIPAYMENTACTIONRESPONSE(PaymentActionResponse::)
120 NS_DECL_NSIPAYMENTABORTACTIONRESPONSE
122 PaymentAbortActionResponse();
124 private:
125 ~PaymentAbortActionResponse() = default;
127 uint32_t mAbortStatus;
130 class PaymentCompleteActionResponse final
131 : public nsIPaymentCompleteActionResponse,
132 public PaymentActionResponse {
133 public:
134 NS_DECL_ISUPPORTS_INHERITED
135 NS_FORWARD_NSIPAYMENTACTIONRESPONSE(PaymentActionResponse::)
136 NS_DECL_NSIPAYMENTCOMPLETEACTIONRESPONSE
138 PaymentCompleteActionResponse();
140 private:
141 ~PaymentCompleteActionResponse() = default;
143 uint32_t mCompleteStatus;
146 class MethodChangeDetails : public nsIMethodChangeDetails {
147 public:
148 NS_DECL_ISUPPORTS
149 NS_DECL_NSIMETHODCHANGEDETAILS
151 MethodChangeDetails() = default;
153 protected:
154 virtual ~MethodChangeDetails() = default;
156 uint32_t mType;
159 class GeneralMethodChangeDetails final : public MethodChangeDetails,
160 public nsIGeneralChangeDetails {
161 public:
162 NS_DECL_ISUPPORTS_INHERITED
163 NS_FORWARD_NSIMETHODCHANGEDETAILS(MethodChangeDetails::)
164 NS_DECL_NSIGENERALCHANGEDETAILS
166 GeneralMethodChangeDetails();
168 private:
169 ~GeneralMethodChangeDetails() = default;
171 nsString mDetails;
174 class BasicCardMethodChangeDetails final : public MethodChangeDetails,
175 public nsIBasicCardChangeDetails {
176 public:
177 NS_DECL_ISUPPORTS_INHERITED
178 NS_FORWARD_NSIMETHODCHANGEDETAILS(MethodChangeDetails::)
179 NS_DECL_NSIBASICCARDCHANGEDETAILS
181 BasicCardMethodChangeDetails();
183 private:
184 ~BasicCardMethodChangeDetails() = default;
186 nsCOMPtr<nsIPaymentAddress> mBillingAddress;
189 } // namespace dom
190 } // end of namespace mozilla
192 #endif