AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
GeofenceGeometry.h
1
6#pragma once
7#include <aws/location/LocationService_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/location/model/Circle.h>
10#include <aws/core/utils/Array.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace LocationService
24{
25namespace Model
26{
27
39 {
40 public:
41 AWS_LOCATIONSERVICE_API GeofenceGeometry() = default;
42 AWS_LOCATIONSERVICE_API GeofenceGeometry(Aws::Utils::Json::JsonView jsonValue);
43 AWS_LOCATIONSERVICE_API GeofenceGeometry& operator=(Aws::Utils::Json::JsonView jsonValue);
44 AWS_LOCATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
63 inline const Aws::Vector<Aws::Vector<Aws::Vector<double>>>& GetPolygon() const { return m_polygon; }
64 inline bool PolygonHasBeenSet() const { return m_polygonHasBeenSet; }
65 template<typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
66 void SetPolygon(PolygonT&& value) { m_polygonHasBeenSet = true; m_polygon = std::forward<PolygonT>(value); }
67 template<typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
68 GeofenceGeometry& WithPolygon(PolygonT&& value) { SetPolygon(std::forward<PolygonT>(value)); return *this;}
69 template<typename PolygonT = Aws::Vector<Aws::Vector<double>>>
70 GeofenceGeometry& AddPolygon(PolygonT&& value) { m_polygonHasBeenSet = true; m_polygon.emplace_back(std::forward<PolygonT>(value)); return *this; }
72
74
77 inline const Circle& GetCircle() const { return m_circle; }
78 inline bool CircleHasBeenSet() const { return m_circleHasBeenSet; }
79 template<typename CircleT = Circle>
80 void SetCircle(CircleT&& value) { m_circleHasBeenSet = true; m_circle = std::forward<CircleT>(value); }
81 template<typename CircleT = Circle>
82 GeofenceGeometry& WithCircle(CircleT&& value) { SetCircle(std::forward<CircleT>(value)); return *this;}
84
86
91 inline const Aws::Utils::CryptoBuffer& GetGeobuf() const { return m_geobuf; }
92 inline bool GeobufHasBeenSet() const { return m_geobufHasBeenSet; }
93 template<typename GeobufT = Aws::Utils::CryptoBuffer>
94 void SetGeobuf(GeobufT&& value) { m_geobufHasBeenSet = true; m_geobuf = std::forward<GeobufT>(value); }
95 template<typename GeobufT = Aws::Utils::CryptoBuffer>
96 GeofenceGeometry& WithGeobuf(GeobufT&& value) { SetGeobuf(std::forward<GeobufT>(value)); return *this;}
98 private:
99
101 bool m_polygonHasBeenSet = false;
102
103 Circle m_circle;
104 bool m_circleHasBeenSet = false;
105
106 Aws::Utils::CryptoBuffer m_geobuf{};
107 bool m_geobufHasBeenSet = false;
108 };
109
110} // namespace Model
111} // namespace LocationService
112} // namespace Aws
GeofenceGeometry & WithGeobuf(GeobufT &&value)
GeofenceGeometry & AddPolygon(PolygonT &&value)
AWS_LOCATIONSERVICE_API GeofenceGeometry & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_LOCATIONSERVICE_API GeofenceGeometry(Aws::Utils::Json::JsonView jsonValue)
AWS_LOCATIONSERVICE_API GeofenceGeometry()=default
const Aws::Utils::CryptoBuffer & GetGeobuf() const
GeofenceGeometry & WithCircle(CircleT &&value)
const Aws::Vector< Aws::Vector< Aws::Vector< double > > > & GetPolygon() const
GeofenceGeometry & WithPolygon(PolygonT &&value)
AWS_LOCATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue