/** * 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 IoTWireless { namespace Model { /** *

Global navigation satellite system (GNSS) object used for * positioning.

See Also:

AWS * API Reference

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

Payload that contains the GNSS scan result, or NAV message, in hexadecimal * notation.

*/ inline const Aws::String& GetPayload() const{ return m_payload; } /** *

Payload that contains the GNSS scan result, or NAV message, in hexadecimal * notation.

*/ inline bool PayloadHasBeenSet() const { return m_payloadHasBeenSet; } /** *

Payload that contains the GNSS scan result, or NAV message, in hexadecimal * notation.

*/ inline void SetPayload(const Aws::String& value) { m_payloadHasBeenSet = true; m_payload = value; } /** *

Payload that contains the GNSS scan result, or NAV message, in hexadecimal * notation.

*/ inline void SetPayload(Aws::String&& value) { m_payloadHasBeenSet = true; m_payload = std::move(value); } /** *

Payload that contains the GNSS scan result, or NAV message, in hexadecimal * notation.

*/ inline void SetPayload(const char* value) { m_payloadHasBeenSet = true; m_payload.assign(value); } /** *

Payload that contains the GNSS scan result, or NAV message, in hexadecimal * notation.

*/ inline Gnss& WithPayload(const Aws::String& value) { SetPayload(value); return *this;} /** *

Payload that contains the GNSS scan result, or NAV message, in hexadecimal * notation.

*/ inline Gnss& WithPayload(Aws::String&& value) { SetPayload(std::move(value)); return *this;} /** *

Payload that contains the GNSS scan result, or NAV message, in hexadecimal * notation.

*/ inline Gnss& WithPayload(const char* value) { SetPayload(value); return *this;} /** *

Optional parameter that gives an estimate of the time when the GNSS scan * information is taken, in seconds GPS time (GPST). If capture time is not * specified, the local server time is used.

*/ inline double GetCaptureTime() const{ return m_captureTime; } /** *

Optional parameter that gives an estimate of the time when the GNSS scan * information is taken, in seconds GPS time (GPST). If capture time is not * specified, the local server time is used.

*/ inline bool CaptureTimeHasBeenSet() const { return m_captureTimeHasBeenSet; } /** *

Optional parameter that gives an estimate of the time when the GNSS scan * information is taken, in seconds GPS time (GPST). If capture time is not * specified, the local server time is used.

*/ inline void SetCaptureTime(double value) { m_captureTimeHasBeenSet = true; m_captureTime = value; } /** *

Optional parameter that gives an estimate of the time when the GNSS scan * information is taken, in seconds GPS time (GPST). If capture time is not * specified, the local server time is used.

*/ inline Gnss& WithCaptureTime(double value) { SetCaptureTime(value); return *this;} /** *

Optional value that gives the capture time estimate accuracy, in seconds. If * capture time accuracy is not specified, default value of 300 is used.

*/ inline double GetCaptureTimeAccuracy() const{ return m_captureTimeAccuracy; } /** *

Optional value that gives the capture time estimate accuracy, in seconds. If * capture time accuracy is not specified, default value of 300 is used.

*/ inline bool CaptureTimeAccuracyHasBeenSet() const { return m_captureTimeAccuracyHasBeenSet; } /** *

Optional value that gives the capture time estimate accuracy, in seconds. If * capture time accuracy is not specified, default value of 300 is used.

*/ inline void SetCaptureTimeAccuracy(double value) { m_captureTimeAccuracyHasBeenSet = true; m_captureTimeAccuracy = value; } /** *

Optional value that gives the capture time estimate accuracy, in seconds. If * capture time accuracy is not specified, default value of 300 is used.

*/ inline Gnss& WithCaptureTimeAccuracy(double value) { SetCaptureTimeAccuracy(value); return *this;} /** *

Optional assistance position information, specified using latitude and * longitude values in degrees. The coordinates are inside the WGS84 reference * frame.

*/ inline const Aws::Vector& GetAssistPosition() const{ return m_assistPosition; } /** *

Optional assistance position information, specified using latitude and * longitude values in degrees. The coordinates are inside the WGS84 reference * frame.

*/ inline bool AssistPositionHasBeenSet() const { return m_assistPositionHasBeenSet; } /** *

Optional assistance position information, specified using latitude and * longitude values in degrees. The coordinates are inside the WGS84 reference * frame.

*/ inline void SetAssistPosition(const Aws::Vector& value) { m_assistPositionHasBeenSet = true; m_assistPosition = value; } /** *

Optional assistance position information, specified using latitude and * longitude values in degrees. The coordinates are inside the WGS84 reference * frame.

*/ inline void SetAssistPosition(Aws::Vector&& value) { m_assistPositionHasBeenSet = true; m_assistPosition = std::move(value); } /** *

Optional assistance position information, specified using latitude and * longitude values in degrees. The coordinates are inside the WGS84 reference * frame.

*/ inline Gnss& WithAssistPosition(const Aws::Vector& value) { SetAssistPosition(value); return *this;} /** *

Optional assistance position information, specified using latitude and * longitude values in degrees. The coordinates are inside the WGS84 reference * frame.

*/ inline Gnss& WithAssistPosition(Aws::Vector&& value) { SetAssistPosition(std::move(value)); return *this;} /** *

Optional assistance position information, specified using latitude and * longitude values in degrees. The coordinates are inside the WGS84 reference * frame.

*/ inline Gnss& AddAssistPosition(double value) { m_assistPositionHasBeenSet = true; m_assistPosition.push_back(value); return *this; } /** *

Optional assistance altitude, which is the altitude of the device at capture * time, specified in meters above the WGS84 reference ellipsoid.

*/ inline double GetAssistAltitude() const{ return m_assistAltitude; } /** *

Optional assistance altitude, which is the altitude of the device at capture * time, specified in meters above the WGS84 reference ellipsoid.

*/ inline bool AssistAltitudeHasBeenSet() const { return m_assistAltitudeHasBeenSet; } /** *

Optional assistance altitude, which is the altitude of the device at capture * time, specified in meters above the WGS84 reference ellipsoid.

*/ inline void SetAssistAltitude(double value) { m_assistAltitudeHasBeenSet = true; m_assistAltitude = value; } /** *

Optional assistance altitude, which is the altitude of the device at capture * time, specified in meters above the WGS84 reference ellipsoid.

*/ inline Gnss& WithAssistAltitude(double value) { SetAssistAltitude(value); return *this;} /** *

Optional parameter that forces 2D solve, which modifies the positioning * algorithm to a 2D solution problem. When this parameter is specified, the * assistance altitude should have an accuracy of at least 10 meters.

*/ inline bool GetUse2DSolver() const{ return m_use2DSolver; } /** *

Optional parameter that forces 2D solve, which modifies the positioning * algorithm to a 2D solution problem. When this parameter is specified, the * assistance altitude should have an accuracy of at least 10 meters.

*/ inline bool Use2DSolverHasBeenSet() const { return m_use2DSolverHasBeenSet; } /** *

Optional parameter that forces 2D solve, which modifies the positioning * algorithm to a 2D solution problem. When this parameter is specified, the * assistance altitude should have an accuracy of at least 10 meters.

*/ inline void SetUse2DSolver(bool value) { m_use2DSolverHasBeenSet = true; m_use2DSolver = value; } /** *

Optional parameter that forces 2D solve, which modifies the positioning * algorithm to a 2D solution problem. When this parameter is specified, the * assistance altitude should have an accuracy of at least 10 meters.

*/ inline Gnss& WithUse2DSolver(bool value) { SetUse2DSolver(value); return *this;} private: Aws::String m_payload; bool m_payloadHasBeenSet = false; double m_captureTime; bool m_captureTimeHasBeenSet = false; double m_captureTimeAccuracy; bool m_captureTimeAccuracyHasBeenSet = false; Aws::Vector m_assistPosition; bool m_assistPositionHasBeenSet = false; double m_assistAltitude; bool m_assistAltitudeHasBeenSet = false; bool m_use2DSolver; bool m_use2DSolverHasBeenSet = false; }; } // namespace Model } // namespace IoTWireless } // namespace Aws