AWS SDK for C++

AWS SDK for C++ Version 1.11.742

Loading...
Searching...
No Matches
EmvEncryptionAttributes.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/payment-cryptography-data/PaymentCryptographyData_EXPORTS.h>
9#include <aws/payment-cryptography-data/model/EmvEncryptionMode.h>
10#include <aws/payment-cryptography-data/model/EmvMajorKeyDerivationMode.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace PaymentCryptographyData {
22namespace Model {
23
31 public:
32 AWS_PAYMENTCRYPTOGRAPHYDATA_API EmvEncryptionAttributes() = default;
33 AWS_PAYMENTCRYPTOGRAPHYDATA_API EmvEncryptionAttributes(Aws::Utils::Json::JsonView jsonValue);
34 AWS_PAYMENTCRYPTOGRAPHYDATA_API EmvEncryptionAttributes& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_PAYMENTCRYPTOGRAPHYDATA_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
42 inline EmvMajorKeyDerivationMode GetMajorKeyDerivationMode() const { return m_majorKeyDerivationMode; }
43 inline bool MajorKeyDerivationModeHasBeenSet() const { return m_majorKeyDerivationModeHasBeenSet; }
45 m_majorKeyDerivationModeHasBeenSet = true;
46 m_majorKeyDerivationMode = value;
47 }
50 return *this;
51 }
53
55
59 inline const Aws::String& GetPrimaryAccountNumber() const { return m_primaryAccountNumber; }
60 inline bool PrimaryAccountNumberHasBeenSet() const { return m_primaryAccountNumberHasBeenSet; }
61 template <typename PrimaryAccountNumberT = Aws::String>
62 void SetPrimaryAccountNumber(PrimaryAccountNumberT&& value) {
63 m_primaryAccountNumberHasBeenSet = true;
64 m_primaryAccountNumber = std::forward<PrimaryAccountNumberT>(value);
65 }
66 template <typename PrimaryAccountNumberT = Aws::String>
67 EmvEncryptionAttributes& WithPrimaryAccountNumber(PrimaryAccountNumberT&& value) {
68 SetPrimaryAccountNumber(std::forward<PrimaryAccountNumberT>(value));
69 return *this;
70 }
72
74
79 inline const Aws::String& GetPanSequenceNumber() const { return m_panSequenceNumber; }
80 inline bool PanSequenceNumberHasBeenSet() const { return m_panSequenceNumberHasBeenSet; }
81 template <typename PanSequenceNumberT = Aws::String>
82 void SetPanSequenceNumber(PanSequenceNumberT&& value) {
83 m_panSequenceNumberHasBeenSet = true;
84 m_panSequenceNumber = std::forward<PanSequenceNumberT>(value);
85 }
86 template <typename PanSequenceNumberT = Aws::String>
87 EmvEncryptionAttributes& WithPanSequenceNumber(PanSequenceNumberT&& value) {
88 SetPanSequenceNumber(std::forward<PanSequenceNumberT>(value));
89 return *this;
90 }
92
94
99 inline const Aws::String& GetSessionDerivationData() const { return m_sessionDerivationData; }
100 inline bool SessionDerivationDataHasBeenSet() const { return m_sessionDerivationDataHasBeenSet; }
101 template <typename SessionDerivationDataT = Aws::String>
102 void SetSessionDerivationData(SessionDerivationDataT&& value) {
103 m_sessionDerivationDataHasBeenSet = true;
104 m_sessionDerivationData = std::forward<SessionDerivationDataT>(value);
105 }
106 template <typename SessionDerivationDataT = Aws::String>
107 EmvEncryptionAttributes& WithSessionDerivationData(SessionDerivationDataT&& value) {
108 SetSessionDerivationData(std::forward<SessionDerivationDataT>(value));
109 return *this;
110 }
112
114
117 inline EmvEncryptionMode GetMode() const { return m_mode; }
118 inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; }
119 inline void SetMode(EmvEncryptionMode value) {
120 m_modeHasBeenSet = true;
121 m_mode = value;
122 }
124 SetMode(value);
125 return *this;
126 }
128
130
134 inline const Aws::String& GetInitializationVector() const { return m_initializationVector; }
135 inline bool InitializationVectorHasBeenSet() const { return m_initializationVectorHasBeenSet; }
136 template <typename InitializationVectorT = Aws::String>
137 void SetInitializationVector(InitializationVectorT&& value) {
138 m_initializationVectorHasBeenSet = true;
139 m_initializationVector = std::forward<InitializationVectorT>(value);
140 }
141 template <typename InitializationVectorT = Aws::String>
142 EmvEncryptionAttributes& WithInitializationVector(InitializationVectorT&& value) {
143 SetInitializationVector(std::forward<InitializationVectorT>(value));
144 return *this;
145 }
147 private:
149
150 Aws::String m_primaryAccountNumber;
151
152 Aws::String m_panSequenceNumber;
153
154 Aws::String m_sessionDerivationData;
155
157
158 Aws::String m_initializationVector;
159 bool m_majorKeyDerivationModeHasBeenSet = false;
160 bool m_primaryAccountNumberHasBeenSet = false;
161 bool m_panSequenceNumberHasBeenSet = false;
162 bool m_sessionDerivationDataHasBeenSet = false;
163 bool m_modeHasBeenSet = false;
164 bool m_initializationVectorHasBeenSet = false;
165};
166
167} // namespace Model
168} // namespace PaymentCryptographyData
169} // namespace Aws
EmvEncryptionAttributes & WithInitializationVector(InitializationVectorT &&value)
EmvEncryptionAttributes & WithSessionDerivationData(SessionDerivationDataT &&value)
AWS_PAYMENTCRYPTOGRAPHYDATA_API Aws::Utils::Json::JsonValue Jsonize() const
EmvEncryptionAttributes & WithMode(EmvEncryptionMode value)
EmvEncryptionAttributes & WithPanSequenceNumber(PanSequenceNumberT &&value)
EmvEncryptionAttributes & WithMajorKeyDerivationMode(EmvMajorKeyDerivationMode value)
EmvEncryptionAttributes & WithPrimaryAccountNumber(PrimaryAccountNumberT &&value)
AWS_PAYMENTCRYPTOGRAPHYDATA_API EmvEncryptionAttributes()=default
AWS_PAYMENTCRYPTOGRAPHYDATA_API EmvEncryptionAttributes & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_PAYMENTCRYPTOGRAPHYDATA_API EmvEncryptionAttributes(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue