AWS SDK for C++

AWS SDK for C++ Version 1.11.745

Loading...
Searching...
No Matches
InAppMessageButton.h
1
6#pragma once
7#include <aws/pinpoint/Pinpoint_EXPORTS.h>
8#include <aws/pinpoint/model/DefaultButtonConfiguration.h>
9#include <aws/pinpoint/model/OverrideButtonConfiguration.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace Pinpoint {
21namespace Model {
22
29 public:
30 AWS_PINPOINT_API InAppMessageButton() = default;
33 AWS_PINPOINT_API Aws::Utils::Json::JsonValue Jsonize() const;
34
36
39 inline const OverrideButtonConfiguration& GetAndroid() const { return m_android; }
40 inline bool AndroidHasBeenSet() const { return m_androidHasBeenSet; }
41 template <typename AndroidT = OverrideButtonConfiguration>
42 void SetAndroid(AndroidT&& value) {
43 m_androidHasBeenSet = true;
44 m_android = std::forward<AndroidT>(value);
45 }
46 template <typename AndroidT = OverrideButtonConfiguration>
47 InAppMessageButton& WithAndroid(AndroidT&& value) {
48 SetAndroid(std::forward<AndroidT>(value));
49 return *this;
50 }
52
54
57 inline const DefaultButtonConfiguration& GetDefaultConfig() const { return m_defaultConfig; }
58 inline bool DefaultConfigHasBeenSet() const { return m_defaultConfigHasBeenSet; }
59 template <typename DefaultConfigT = DefaultButtonConfiguration>
60 void SetDefaultConfig(DefaultConfigT&& value) {
61 m_defaultConfigHasBeenSet = true;
62 m_defaultConfig = std::forward<DefaultConfigT>(value);
63 }
64 template <typename DefaultConfigT = DefaultButtonConfiguration>
65 InAppMessageButton& WithDefaultConfig(DefaultConfigT&& value) {
66 SetDefaultConfig(std::forward<DefaultConfigT>(value));
67 return *this;
68 }
70
72
75 inline const OverrideButtonConfiguration& GetIOS() const { return m_iOS; }
76 inline bool IOSHasBeenSet() const { return m_iOSHasBeenSet; }
77 template <typename IOST = OverrideButtonConfiguration>
78 void SetIOS(IOST&& value) {
79 m_iOSHasBeenSet = true;
80 m_iOS = std::forward<IOST>(value);
81 }
82 template <typename IOST = OverrideButtonConfiguration>
83 InAppMessageButton& WithIOS(IOST&& value) {
84 SetIOS(std::forward<IOST>(value));
85 return *this;
86 }
88
90
93 inline const OverrideButtonConfiguration& GetWeb() const { return m_web; }
94 inline bool WebHasBeenSet() const { return m_webHasBeenSet; }
95 template <typename WebT = OverrideButtonConfiguration>
96 void SetWeb(WebT&& value) {
97 m_webHasBeenSet = true;
98 m_web = std::forward<WebT>(value);
99 }
100 template <typename WebT = OverrideButtonConfiguration>
102 SetWeb(std::forward<WebT>(value));
103 return *this;
104 }
106 private:
108
109 DefaultButtonConfiguration m_defaultConfig;
110
112
114 bool m_androidHasBeenSet = false;
115 bool m_defaultConfigHasBeenSet = false;
116 bool m_iOSHasBeenSet = false;
117 bool m_webHasBeenSet = false;
118};
119
120} // namespace Model
121} // namespace Pinpoint
122} // namespace Aws
const OverrideButtonConfiguration & GetIOS() const
AWS_PINPOINT_API InAppMessageButton & operator=(Aws::Utils::Json::JsonView jsonValue)
InAppMessageButton & WithIOS(IOST &&value)
const OverrideButtonConfiguration & GetWeb() const
AWS_PINPOINT_API Aws::Utils::Json::JsonValue Jsonize() const
InAppMessageButton & WithAndroid(AndroidT &&value)
const DefaultButtonConfiguration & GetDefaultConfig() const
const OverrideButtonConfiguration & GetAndroid() const
InAppMessageButton & WithDefaultConfig(DefaultConfigT &&value)
InAppMessageButton & WithWeb(WebT &&value)
AWS_PINPOINT_API InAppMessageButton(Aws::Utils::Json::JsonView jsonValue)
void SetDefaultConfig(DefaultConfigT &&value)
AWS_PINPOINT_API InAppMessageButton()=default
Aws::Utils::Json::JsonValue JsonValue