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

Information about how AWS Ground Station should configure an antenna for * downlink demod decode during a contact.

See Also:

AWS * API Reference

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

Information about the decode Config.

*/ inline const DecodeConfig& GetDecodeConfig() const{ return m_decodeConfig; } /** *

Information about the decode Config.

*/ inline bool DecodeConfigHasBeenSet() const { return m_decodeConfigHasBeenSet; } /** *

Information about the decode Config.

*/ inline void SetDecodeConfig(const DecodeConfig& value) { m_decodeConfigHasBeenSet = true; m_decodeConfig = value; } /** *

Information about the decode Config.

*/ inline void SetDecodeConfig(DecodeConfig&& value) { m_decodeConfigHasBeenSet = true; m_decodeConfig = std::move(value); } /** *

Information about the decode Config.

*/ inline AntennaDownlinkDemodDecodeConfig& WithDecodeConfig(const DecodeConfig& value) { SetDecodeConfig(value); return *this;} /** *

Information about the decode Config.

*/ inline AntennaDownlinkDemodDecodeConfig& WithDecodeConfig(DecodeConfig&& value) { SetDecodeConfig(std::move(value)); return *this;} /** *

Information about the demodulation Config.

*/ inline const DemodulationConfig& GetDemodulationConfig() const{ return m_demodulationConfig; } /** *

Information about the demodulation Config.

*/ inline bool DemodulationConfigHasBeenSet() const { return m_demodulationConfigHasBeenSet; } /** *

Information about the demodulation Config.

*/ inline void SetDemodulationConfig(const DemodulationConfig& value) { m_demodulationConfigHasBeenSet = true; m_demodulationConfig = value; } /** *

Information about the demodulation Config.

*/ inline void SetDemodulationConfig(DemodulationConfig&& value) { m_demodulationConfigHasBeenSet = true; m_demodulationConfig = std::move(value); } /** *

Information about the demodulation Config.

*/ inline AntennaDownlinkDemodDecodeConfig& WithDemodulationConfig(const DemodulationConfig& value) { SetDemodulationConfig(value); return *this;} /** *

Information about the demodulation Config.

*/ inline AntennaDownlinkDemodDecodeConfig& WithDemodulationConfig(DemodulationConfig&& value) { SetDemodulationConfig(std::move(value)); return *this;} /** *

Information about the spectral Config.

*/ inline const SpectrumConfig& GetSpectrumConfig() const{ return m_spectrumConfig; } /** *

Information about the spectral Config.

*/ inline bool SpectrumConfigHasBeenSet() const { return m_spectrumConfigHasBeenSet; } /** *

Information about the spectral Config.

*/ inline void SetSpectrumConfig(const SpectrumConfig& value) { m_spectrumConfigHasBeenSet = true; m_spectrumConfig = value; } /** *

Information about the spectral Config.

*/ inline void SetSpectrumConfig(SpectrumConfig&& value) { m_spectrumConfigHasBeenSet = true; m_spectrumConfig = std::move(value); } /** *

Information about the spectral Config.

*/ inline AntennaDownlinkDemodDecodeConfig& WithSpectrumConfig(const SpectrumConfig& value) { SetSpectrumConfig(value); return *this;} /** *

Information about the spectral Config.

*/ inline AntennaDownlinkDemodDecodeConfig& WithSpectrumConfig(SpectrumConfig&& value) { SetSpectrumConfig(std::move(value)); return *this;} private: DecodeConfig m_decodeConfig; bool m_decodeConfigHasBeenSet = false; DemodulationConfig m_demodulationConfig; bool m_demodulationConfigHasBeenSet = false; SpectrumConfig m_spectrumConfig; bool m_spectrumConfigHasBeenSet = false; }; } // namespace Model } // namespace GroundStation } // namespace Aws