1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/pinpoint/Pinpoint_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/pinpoint/model/InAppMessageBodyConfig.h> 10 #include <aws/pinpoint/model/InAppMessageHeaderConfig.h> 11 #include <aws/pinpoint/model/InAppMessageButton.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace Pinpoint 25 { 26 namespace Model 27 { 28 29 /** 30 * <p>The configuration for the message content.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/InAppMessageContent">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_PINPOINT_API InAppMessageContent 35 { 36 public: 37 InAppMessageContent(); 38 InAppMessageContent(Aws::Utils::Json::JsonView jsonValue); 39 InAppMessageContent& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>The background color for the message.</p> 45 */ GetBackgroundColor()46 inline const Aws::String& GetBackgroundColor() const{ return m_backgroundColor; } 47 48 /** 49 * <p>The background color for the message.</p> 50 */ BackgroundColorHasBeenSet()51 inline bool BackgroundColorHasBeenSet() const { return m_backgroundColorHasBeenSet; } 52 53 /** 54 * <p>The background color for the message.</p> 55 */ SetBackgroundColor(const Aws::String & value)56 inline void SetBackgroundColor(const Aws::String& value) { m_backgroundColorHasBeenSet = true; m_backgroundColor = value; } 57 58 /** 59 * <p>The background color for the message.</p> 60 */ SetBackgroundColor(Aws::String && value)61 inline void SetBackgroundColor(Aws::String&& value) { m_backgroundColorHasBeenSet = true; m_backgroundColor = std::move(value); } 62 63 /** 64 * <p>The background color for the message.</p> 65 */ SetBackgroundColor(const char * value)66 inline void SetBackgroundColor(const char* value) { m_backgroundColorHasBeenSet = true; m_backgroundColor.assign(value); } 67 68 /** 69 * <p>The background color for the message.</p> 70 */ WithBackgroundColor(const Aws::String & value)71 inline InAppMessageContent& WithBackgroundColor(const Aws::String& value) { SetBackgroundColor(value); return *this;} 72 73 /** 74 * <p>The background color for the message.</p> 75 */ WithBackgroundColor(Aws::String && value)76 inline InAppMessageContent& WithBackgroundColor(Aws::String&& value) { SetBackgroundColor(std::move(value)); return *this;} 77 78 /** 79 * <p>The background color for the message.</p> 80 */ WithBackgroundColor(const char * value)81 inline InAppMessageContent& WithBackgroundColor(const char* value) { SetBackgroundColor(value); return *this;} 82 83 84 /** 85 * <p>The configuration for the message body.</p> 86 */ GetBodyConfig()87 inline const InAppMessageBodyConfig& GetBodyConfig() const{ return m_bodyConfig; } 88 89 /** 90 * <p>The configuration for the message body.</p> 91 */ BodyConfigHasBeenSet()92 inline bool BodyConfigHasBeenSet() const { return m_bodyConfigHasBeenSet; } 93 94 /** 95 * <p>The configuration for the message body.</p> 96 */ SetBodyConfig(const InAppMessageBodyConfig & value)97 inline void SetBodyConfig(const InAppMessageBodyConfig& value) { m_bodyConfigHasBeenSet = true; m_bodyConfig = value; } 98 99 /** 100 * <p>The configuration for the message body.</p> 101 */ SetBodyConfig(InAppMessageBodyConfig && value)102 inline void SetBodyConfig(InAppMessageBodyConfig&& value) { m_bodyConfigHasBeenSet = true; m_bodyConfig = std::move(value); } 103 104 /** 105 * <p>The configuration for the message body.</p> 106 */ WithBodyConfig(const InAppMessageBodyConfig & value)107 inline InAppMessageContent& WithBodyConfig(const InAppMessageBodyConfig& value) { SetBodyConfig(value); return *this;} 108 109 /** 110 * <p>The configuration for the message body.</p> 111 */ WithBodyConfig(InAppMessageBodyConfig && value)112 inline InAppMessageContent& WithBodyConfig(InAppMessageBodyConfig&& value) { SetBodyConfig(std::move(value)); return *this;} 113 114 115 /** 116 * <p>The configuration for the message header.</p> 117 */ GetHeaderConfig()118 inline const InAppMessageHeaderConfig& GetHeaderConfig() const{ return m_headerConfig; } 119 120 /** 121 * <p>The configuration for the message header.</p> 122 */ HeaderConfigHasBeenSet()123 inline bool HeaderConfigHasBeenSet() const { return m_headerConfigHasBeenSet; } 124 125 /** 126 * <p>The configuration for the message header.</p> 127 */ SetHeaderConfig(const InAppMessageHeaderConfig & value)128 inline void SetHeaderConfig(const InAppMessageHeaderConfig& value) { m_headerConfigHasBeenSet = true; m_headerConfig = value; } 129 130 /** 131 * <p>The configuration for the message header.</p> 132 */ SetHeaderConfig(InAppMessageHeaderConfig && value)133 inline void SetHeaderConfig(InAppMessageHeaderConfig&& value) { m_headerConfigHasBeenSet = true; m_headerConfig = std::move(value); } 134 135 /** 136 * <p>The configuration for the message header.</p> 137 */ WithHeaderConfig(const InAppMessageHeaderConfig & value)138 inline InAppMessageContent& WithHeaderConfig(const InAppMessageHeaderConfig& value) { SetHeaderConfig(value); return *this;} 139 140 /** 141 * <p>The configuration for the message header.</p> 142 */ WithHeaderConfig(InAppMessageHeaderConfig && value)143 inline InAppMessageContent& WithHeaderConfig(InAppMessageHeaderConfig&& value) { SetHeaderConfig(std::move(value)); return *this;} 144 145 146 /** 147 * <p>The image url for the background of message.</p> 148 */ GetImageUrl()149 inline const Aws::String& GetImageUrl() const{ return m_imageUrl; } 150 151 /** 152 * <p>The image url for the background of message.</p> 153 */ ImageUrlHasBeenSet()154 inline bool ImageUrlHasBeenSet() const { return m_imageUrlHasBeenSet; } 155 156 /** 157 * <p>The image url for the background of message.</p> 158 */ SetImageUrl(const Aws::String & value)159 inline void SetImageUrl(const Aws::String& value) { m_imageUrlHasBeenSet = true; m_imageUrl = value; } 160 161 /** 162 * <p>The image url for the background of message.</p> 163 */ SetImageUrl(Aws::String && value)164 inline void SetImageUrl(Aws::String&& value) { m_imageUrlHasBeenSet = true; m_imageUrl = std::move(value); } 165 166 /** 167 * <p>The image url for the background of message.</p> 168 */ SetImageUrl(const char * value)169 inline void SetImageUrl(const char* value) { m_imageUrlHasBeenSet = true; m_imageUrl.assign(value); } 170 171 /** 172 * <p>The image url for the background of message.</p> 173 */ WithImageUrl(const Aws::String & value)174 inline InAppMessageContent& WithImageUrl(const Aws::String& value) { SetImageUrl(value); return *this;} 175 176 /** 177 * <p>The image url for the background of message.</p> 178 */ WithImageUrl(Aws::String && value)179 inline InAppMessageContent& WithImageUrl(Aws::String&& value) { SetImageUrl(std::move(value)); return *this;} 180 181 /** 182 * <p>The image url for the background of message.</p> 183 */ WithImageUrl(const char * value)184 inline InAppMessageContent& WithImageUrl(const char* value) { SetImageUrl(value); return *this;} 185 186 187 /** 188 * <p>The first button inside the message.</p> 189 */ GetPrimaryBtn()190 inline const InAppMessageButton& GetPrimaryBtn() const{ return m_primaryBtn; } 191 192 /** 193 * <p>The first button inside the message.</p> 194 */ PrimaryBtnHasBeenSet()195 inline bool PrimaryBtnHasBeenSet() const { return m_primaryBtnHasBeenSet; } 196 197 /** 198 * <p>The first button inside the message.</p> 199 */ SetPrimaryBtn(const InAppMessageButton & value)200 inline void SetPrimaryBtn(const InAppMessageButton& value) { m_primaryBtnHasBeenSet = true; m_primaryBtn = value; } 201 202 /** 203 * <p>The first button inside the message.</p> 204 */ SetPrimaryBtn(InAppMessageButton && value)205 inline void SetPrimaryBtn(InAppMessageButton&& value) { m_primaryBtnHasBeenSet = true; m_primaryBtn = std::move(value); } 206 207 /** 208 * <p>The first button inside the message.</p> 209 */ WithPrimaryBtn(const InAppMessageButton & value)210 inline InAppMessageContent& WithPrimaryBtn(const InAppMessageButton& value) { SetPrimaryBtn(value); return *this;} 211 212 /** 213 * <p>The first button inside the message.</p> 214 */ WithPrimaryBtn(InAppMessageButton && value)215 inline InAppMessageContent& WithPrimaryBtn(InAppMessageButton&& value) { SetPrimaryBtn(std::move(value)); return *this;} 216 217 218 /** 219 * <p>The second button inside message.</p> 220 */ GetSecondaryBtn()221 inline const InAppMessageButton& GetSecondaryBtn() const{ return m_secondaryBtn; } 222 223 /** 224 * <p>The second button inside message.</p> 225 */ SecondaryBtnHasBeenSet()226 inline bool SecondaryBtnHasBeenSet() const { return m_secondaryBtnHasBeenSet; } 227 228 /** 229 * <p>The second button inside message.</p> 230 */ SetSecondaryBtn(const InAppMessageButton & value)231 inline void SetSecondaryBtn(const InAppMessageButton& value) { m_secondaryBtnHasBeenSet = true; m_secondaryBtn = value; } 232 233 /** 234 * <p>The second button inside message.</p> 235 */ SetSecondaryBtn(InAppMessageButton && value)236 inline void SetSecondaryBtn(InAppMessageButton&& value) { m_secondaryBtnHasBeenSet = true; m_secondaryBtn = std::move(value); } 237 238 /** 239 * <p>The second button inside message.</p> 240 */ WithSecondaryBtn(const InAppMessageButton & value)241 inline InAppMessageContent& WithSecondaryBtn(const InAppMessageButton& value) { SetSecondaryBtn(value); return *this;} 242 243 /** 244 * <p>The second button inside message.</p> 245 */ WithSecondaryBtn(InAppMessageButton && value)246 inline InAppMessageContent& WithSecondaryBtn(InAppMessageButton&& value) { SetSecondaryBtn(std::move(value)); return *this;} 247 248 private: 249 250 Aws::String m_backgroundColor; 251 bool m_backgroundColorHasBeenSet; 252 253 InAppMessageBodyConfig m_bodyConfig; 254 bool m_bodyConfigHasBeenSet; 255 256 InAppMessageHeaderConfig m_headerConfig; 257 bool m_headerConfigHasBeenSet; 258 259 Aws::String m_imageUrl; 260 bool m_imageUrlHasBeenSet; 261 262 InAppMessageButton m_primaryBtn; 263 bool m_primaryBtnHasBeenSet; 264 265 InAppMessageButton m_secondaryBtn; 266 bool m_secondaryBtnHasBeenSet; 267 }; 268 269 } // namespace Model 270 } // namespace Pinpoint 271 } // namespace Aws 272