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

Specify the list of gateways to which you want to send downlink data traffic * when the wireless device is running in class B or class C mode.

See * Also:

AWS * API Reference

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

Indicates whether to send the downlink message in sequential mode or * concurrent mode, or to use only the chosen gateways from the previous uplink * message transmission.

*/ inline const DownlinkMode& GetDownlinkMode() const{ return m_downlinkMode; } /** *

Indicates whether to send the downlink message in sequential mode or * concurrent mode, or to use only the chosen gateways from the previous uplink * message transmission.

*/ inline bool DownlinkModeHasBeenSet() const { return m_downlinkModeHasBeenSet; } /** *

Indicates whether to send the downlink message in sequential mode or * concurrent mode, or to use only the chosen gateways from the previous uplink * message transmission.

*/ inline void SetDownlinkMode(const DownlinkMode& value) { m_downlinkModeHasBeenSet = true; m_downlinkMode = value; } /** *

Indicates whether to send the downlink message in sequential mode or * concurrent mode, or to use only the chosen gateways from the previous uplink * message transmission.

*/ inline void SetDownlinkMode(DownlinkMode&& value) { m_downlinkModeHasBeenSet = true; m_downlinkMode = std::move(value); } /** *

Indicates whether to send the downlink message in sequential mode or * concurrent mode, or to use only the chosen gateways from the previous uplink * message transmission.

*/ inline ParticipatingGateways& WithDownlinkMode(const DownlinkMode& value) { SetDownlinkMode(value); return *this;} /** *

Indicates whether to send the downlink message in sequential mode or * concurrent mode, or to use only the chosen gateways from the previous uplink * message transmission.

*/ inline ParticipatingGateways& WithDownlinkMode(DownlinkMode&& value) { SetDownlinkMode(std::move(value)); return *this;} /** *

The list of gateways that you want to use for sending the downlink data * traffic.

*/ inline const Aws::Vector& GetGatewayList() const{ return m_gatewayList; } /** *

The list of gateways that you want to use for sending the downlink data * traffic.

*/ inline bool GatewayListHasBeenSet() const { return m_gatewayListHasBeenSet; } /** *

The list of gateways that you want to use for sending the downlink data * traffic.

*/ inline void SetGatewayList(const Aws::Vector& value) { m_gatewayListHasBeenSet = true; m_gatewayList = value; } /** *

The list of gateways that you want to use for sending the downlink data * traffic.

*/ inline void SetGatewayList(Aws::Vector&& value) { m_gatewayListHasBeenSet = true; m_gatewayList = std::move(value); } /** *

The list of gateways that you want to use for sending the downlink data * traffic.

*/ inline ParticipatingGateways& WithGatewayList(const Aws::Vector& value) { SetGatewayList(value); return *this;} /** *

The list of gateways that you want to use for sending the downlink data * traffic.

*/ inline ParticipatingGateways& WithGatewayList(Aws::Vector&& value) { SetGatewayList(std::move(value)); return *this;} /** *

The list of gateways that you want to use for sending the downlink data * traffic.

*/ inline ParticipatingGateways& AddGatewayList(const GatewayListItem& value) { m_gatewayListHasBeenSet = true; m_gatewayList.push_back(value); return *this; } /** *

The list of gateways that you want to use for sending the downlink data * traffic.

*/ inline ParticipatingGateways& AddGatewayList(GatewayListItem&& value) { m_gatewayListHasBeenSet = true; m_gatewayList.push_back(std::move(value)); return *this; } /** *

The duration of time for which AWS IoT Core for LoRaWAN will wait before * transmitting the payload to the next gateway.

*/ inline int GetTransmissionInterval() const{ return m_transmissionInterval; } /** *

The duration of time for which AWS IoT Core for LoRaWAN will wait before * transmitting the payload to the next gateway.

*/ inline bool TransmissionIntervalHasBeenSet() const { return m_transmissionIntervalHasBeenSet; } /** *

The duration of time for which AWS IoT Core for LoRaWAN will wait before * transmitting the payload to the next gateway.

*/ inline void SetTransmissionInterval(int value) { m_transmissionIntervalHasBeenSet = true; m_transmissionInterval = value; } /** *

The duration of time for which AWS IoT Core for LoRaWAN will wait before * transmitting the payload to the next gateway.

*/ inline ParticipatingGateways& WithTransmissionInterval(int value) { SetTransmissionInterval(value); return *this;} private: DownlinkMode m_downlinkMode; bool m_downlinkModeHasBeenSet = false; Aws::Vector m_gatewayList; bool m_gatewayListHasBeenSet = false; int m_transmissionInterval; bool m_transmissionIntervalHasBeenSet = false; }; } // namespace Model } // namespace IoTWireless } // namespace Aws