/**
* 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