1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_PAYMENTS_CONTENT_SECURE_PAYMENT_CONFIRMATION_NO_CREDS_MODEL_H_
#define COMPONENTS_PAYMENTS_CONTENT_SECURE_PAYMENT_CONFIRMATION_NO_CREDS_MODEL_H_
#include <string>
#include "base/memory/weak_ptr.h"
namespace payments {
// The data model for the secure payment confirmation 'no matching credentials'
// dialog.
class SecurePaymentConfirmationNoCredsModel {
public:
SecurePaymentConfirmationNoCredsModel();
~SecurePaymentConfirmationNoCredsModel();
// Disallow copy and assign.
SecurePaymentConfirmationNoCredsModel(
const SecurePaymentConfirmationNoCredsModel& other) = delete;
SecurePaymentConfirmationNoCredsModel& operator=(
const SecurePaymentConfirmationNoCredsModel& other) = delete;
const std::u16string& no_creds_text() const { return no_creds_text_; }
void set_no_creds_text(const std::u16string& no_creds_text) {
no_creds_text_ = no_creds_text;
}
// Opt Out text visibility and label.
bool opt_out_visible() const { return opt_out_visible_; }
void set_opt_out_visible(const bool opt_out_visible) {
opt_out_visible_ = opt_out_visible;
}
const std::u16string& opt_out_label() const { return opt_out_label_; }
void set_opt_out_label(const std::u16string& opt_out_label) {
opt_out_label_ = opt_out_label;
}
const std::u16string& opt_out_link_label() const {
return opt_out_link_label_;
}
void set_opt_out_link_label(const std::u16string& opt_out_link_label) {
opt_out_link_label_ = opt_out_link_label;
}
// Relying Party id (origin); used in the opt out dialog.
const std::u16string& relying_party_id() const { return relying_party_id_; }
void set_relying_party_id(const std::u16string& relying_party_id) {
relying_party_id_ = relying_party_id;
}
base::WeakPtr<SecurePaymentConfirmationNoCredsModel> GetWeakPtr();
private:
std::u16string no_creds_text_;
bool opt_out_visible_ = false;
std::u16string opt_out_label_;
std::u16string opt_out_link_label_;
std::u16string relying_party_id_;
base::WeakPtrFactory<SecurePaymentConfirmationNoCredsModel> weak_ptr_factory_{
this};
};
} // namespace payments
#endif // COMPONENTS_PAYMENTS_CONTENT_SECURE_PAYMENT_CONFIRMATION_NO_CREDS_MODEL_H_
|