/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Pinpoint { namespace Model { /** *

Button Config for an in-app message.

See Also:

AWS * API Reference

*/ class InAppMessageButton { public: AWS_PINPOINT_API InAppMessageButton(); AWS_PINPOINT_API InAppMessageButton(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINT_API InAppMessageButton& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Default button content.

*/ inline const OverrideButtonConfiguration& GetAndroid() const{ return m_android; } /** *

Default button content.

*/ inline bool AndroidHasBeenSet() const { return m_androidHasBeenSet; } /** *

Default button content.

*/ inline void SetAndroid(const OverrideButtonConfiguration& value) { m_androidHasBeenSet = true; m_android = value; } /** *

Default button content.

*/ inline void SetAndroid(OverrideButtonConfiguration&& value) { m_androidHasBeenSet = true; m_android = std::move(value); } /** *

Default button content.

*/ inline InAppMessageButton& WithAndroid(const OverrideButtonConfiguration& value) { SetAndroid(value); return *this;} /** *

Default button content.

*/ inline InAppMessageButton& WithAndroid(OverrideButtonConfiguration&& value) { SetAndroid(std::move(value)); return *this;} /** *

Default button content.

*/ inline const DefaultButtonConfiguration& GetDefaultConfig() const{ return m_defaultConfig; } /** *

Default button content.

*/ inline bool DefaultConfigHasBeenSet() const { return m_defaultConfigHasBeenSet; } /** *

Default button content.

*/ inline void SetDefaultConfig(const DefaultButtonConfiguration& value) { m_defaultConfigHasBeenSet = true; m_defaultConfig = value; } /** *

Default button content.

*/ inline void SetDefaultConfig(DefaultButtonConfiguration&& value) { m_defaultConfigHasBeenSet = true; m_defaultConfig = std::move(value); } /** *

Default button content.

*/ inline InAppMessageButton& WithDefaultConfig(const DefaultButtonConfiguration& value) { SetDefaultConfig(value); return *this;} /** *

Default button content.

*/ inline InAppMessageButton& WithDefaultConfig(DefaultButtonConfiguration&& value) { SetDefaultConfig(std::move(value)); return *this;} /** *

Default button content.

*/ inline const OverrideButtonConfiguration& GetIOS() const{ return m_iOS; } /** *

Default button content.

*/ inline bool IOSHasBeenSet() const { return m_iOSHasBeenSet; } /** *

Default button content.

*/ inline void SetIOS(const OverrideButtonConfiguration& value) { m_iOSHasBeenSet = true; m_iOS = value; } /** *

Default button content.

*/ inline void SetIOS(OverrideButtonConfiguration&& value) { m_iOSHasBeenSet = true; m_iOS = std::move(value); } /** *

Default button content.

*/ inline InAppMessageButton& WithIOS(const OverrideButtonConfiguration& value) { SetIOS(value); return *this;} /** *

Default button content.

*/ inline InAppMessageButton& WithIOS(OverrideButtonConfiguration&& value) { SetIOS(std::move(value)); return *this;} /** *

Default button content.

*/ inline const OverrideButtonConfiguration& GetWeb() const{ return m_web; } /** *

Default button content.

*/ inline bool WebHasBeenSet() const { return m_webHasBeenSet; } /** *

Default button content.

*/ inline void SetWeb(const OverrideButtonConfiguration& value) { m_webHasBeenSet = true; m_web = value; } /** *

Default button content.

*/ inline void SetWeb(OverrideButtonConfiguration&& value) { m_webHasBeenSet = true; m_web = std::move(value); } /** *

Default button content.

*/ inline InAppMessageButton& WithWeb(const OverrideButtonConfiguration& value) { SetWeb(value); return *this;} /** *

Default button content.

*/ inline InAppMessageButton& WithWeb(OverrideButtonConfiguration&& value) { SetWeb(std::move(value)); return *this;} private: OverrideButtonConfiguration m_android; bool m_androidHasBeenSet = false; DefaultButtonConfiguration m_defaultConfig; bool m_defaultConfigHasBeenSet = false; OverrideButtonConfiguration m_iOS; bool m_iOSHasBeenSet = false; OverrideButtonConfiguration m_web; bool m_webHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws