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/pinpoint/model/SetDimension.h> 9 #include <aws/pinpoint/model/GPSPointDimension.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace Pinpoint 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Specifies geographical dimension settings for a segment.</p><p><h3>See 29 * Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SegmentLocation">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_PINPOINT_API SegmentLocation 34 { 35 public: 36 SegmentLocation(); 37 SegmentLocation(Aws::Utils::Json::JsonView jsonValue); 38 SegmentLocation& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The country or region code, in ISO 3166-1 alpha-2 format, for the 44 * segment.</p> 45 */ GetCountry()46 inline const SetDimension& GetCountry() const{ return m_country; } 47 48 /** 49 * <p>The country or region code, in ISO 3166-1 alpha-2 format, for the 50 * segment.</p> 51 */ CountryHasBeenSet()52 inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } 53 54 /** 55 * <p>The country or region code, in ISO 3166-1 alpha-2 format, for the 56 * segment.</p> 57 */ SetCountry(const SetDimension & value)58 inline void SetCountry(const SetDimension& value) { m_countryHasBeenSet = true; m_country = value; } 59 60 /** 61 * <p>The country or region code, in ISO 3166-1 alpha-2 format, for the 62 * segment.</p> 63 */ SetCountry(SetDimension && value)64 inline void SetCountry(SetDimension&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } 65 66 /** 67 * <p>The country or region code, in ISO 3166-1 alpha-2 format, for the 68 * segment.</p> 69 */ WithCountry(const SetDimension & value)70 inline SegmentLocation& WithCountry(const SetDimension& value) { SetCountry(value); return *this;} 71 72 /** 73 * <p>The country or region code, in ISO 3166-1 alpha-2 format, for the 74 * segment.</p> 75 */ WithCountry(SetDimension && value)76 inline SegmentLocation& WithCountry(SetDimension&& value) { SetCountry(std::move(value)); return *this;} 77 78 79 /** 80 * <p>The GPS location and range for the segment.</p> 81 */ GetGPSPoint()82 inline const GPSPointDimension& GetGPSPoint() const{ return m_gPSPoint; } 83 84 /** 85 * <p>The GPS location and range for the segment.</p> 86 */ GPSPointHasBeenSet()87 inline bool GPSPointHasBeenSet() const { return m_gPSPointHasBeenSet; } 88 89 /** 90 * <p>The GPS location and range for the segment.</p> 91 */ SetGPSPoint(const GPSPointDimension & value)92 inline void SetGPSPoint(const GPSPointDimension& value) { m_gPSPointHasBeenSet = true; m_gPSPoint = value; } 93 94 /** 95 * <p>The GPS location and range for the segment.</p> 96 */ SetGPSPoint(GPSPointDimension && value)97 inline void SetGPSPoint(GPSPointDimension&& value) { m_gPSPointHasBeenSet = true; m_gPSPoint = std::move(value); } 98 99 /** 100 * <p>The GPS location and range for the segment.</p> 101 */ WithGPSPoint(const GPSPointDimension & value)102 inline SegmentLocation& WithGPSPoint(const GPSPointDimension& value) { SetGPSPoint(value); return *this;} 103 104 /** 105 * <p>The GPS location and range for the segment.</p> 106 */ WithGPSPoint(GPSPointDimension && value)107 inline SegmentLocation& WithGPSPoint(GPSPointDimension&& value) { SetGPSPoint(std::move(value)); return *this;} 108 109 private: 110 111 SetDimension m_country; 112 bool m_countryHasBeenSet; 113 114 GPSPointDimension m_gPSPoint; 115 bool m_gPSPointHasBeenSet; 116 }; 117 118 } // namespace Model 119 } // namespace Pinpoint 120 } // namespace Aws 121