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

GSM object.

See Also:

AWS * API Reference

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

Mobile Country Code.

*/ inline int GetMcc() const{ return m_mcc; } /** *

Mobile Country Code.

*/ inline bool MccHasBeenSet() const { return m_mccHasBeenSet; } /** *

Mobile Country Code.

*/ inline void SetMcc(int value) { m_mccHasBeenSet = true; m_mcc = value; } /** *

Mobile Country Code.

*/ inline GsmObj& WithMcc(int value) { SetMcc(value); return *this;} /** *

Mobile Network Code.

*/ inline int GetMnc() const{ return m_mnc; } /** *

Mobile Network Code.

*/ inline bool MncHasBeenSet() const { return m_mncHasBeenSet; } /** *

Mobile Network Code.

*/ inline void SetMnc(int value) { m_mncHasBeenSet = true; m_mnc = value; } /** *

Mobile Network Code.

*/ inline GsmObj& WithMnc(int value) { SetMnc(value); return *this;} /** *

Location area code.

*/ inline int GetLac() const{ return m_lac; } /** *

Location area code.

*/ inline bool LacHasBeenSet() const { return m_lacHasBeenSet; } /** *

Location area code.

*/ inline void SetLac(int value) { m_lacHasBeenSet = true; m_lac = value; } /** *

Location area code.

*/ inline GsmObj& WithLac(int value) { SetLac(value); return *this;} /** *

GERAN (GSM EDGE Radio Access Network) Cell Global Identifier.

*/ inline int GetGeranCid() const{ return m_geranCid; } /** *

GERAN (GSM EDGE Radio Access Network) Cell Global Identifier.

*/ inline bool GeranCidHasBeenSet() const { return m_geranCidHasBeenSet; } /** *

GERAN (GSM EDGE Radio Access Network) Cell Global Identifier.

*/ inline void SetGeranCid(int value) { m_geranCidHasBeenSet = true; m_geranCid = value; } /** *

GERAN (GSM EDGE Radio Access Network) Cell Global Identifier.

*/ inline GsmObj& WithGeranCid(int value) { SetGeranCid(value); return *this;} /** *

GSM local identification (local ID) information.

*/ inline const GsmLocalId& GetGsmLocalId() const{ return m_gsmLocalId; } /** *

GSM local identification (local ID) information.

*/ inline bool GsmLocalIdHasBeenSet() const { return m_gsmLocalIdHasBeenSet; } /** *

GSM local identification (local ID) information.

*/ inline void SetGsmLocalId(const GsmLocalId& value) { m_gsmLocalIdHasBeenSet = true; m_gsmLocalId = value; } /** *

GSM local identification (local ID) information.

*/ inline void SetGsmLocalId(GsmLocalId&& value) { m_gsmLocalIdHasBeenSet = true; m_gsmLocalId = std::move(value); } /** *

GSM local identification (local ID) information.

*/ inline GsmObj& WithGsmLocalId(const GsmLocalId& value) { SetGsmLocalId(value); return *this;} /** *

GSM local identification (local ID) information.

*/ inline GsmObj& WithGsmLocalId(GsmLocalId&& value) { SetGsmLocalId(std::move(value)); return *this;} /** *

Timing advance value, which corresponds to the length of time a signal takes * to reach the base station from a mobile phone.

*/ inline int GetGsmTimingAdvance() const{ return m_gsmTimingAdvance; } /** *

Timing advance value, which corresponds to the length of time a signal takes * to reach the base station from a mobile phone.

*/ inline bool GsmTimingAdvanceHasBeenSet() const { return m_gsmTimingAdvanceHasBeenSet; } /** *

Timing advance value, which corresponds to the length of time a signal takes * to reach the base station from a mobile phone.

*/ inline void SetGsmTimingAdvance(int value) { m_gsmTimingAdvanceHasBeenSet = true; m_gsmTimingAdvance = value; } /** *

Timing advance value, which corresponds to the length of time a signal takes * to reach the base station from a mobile phone.

*/ inline GsmObj& WithGsmTimingAdvance(int value) { SetGsmTimingAdvance(value); return *this;} /** *

Rx level, which is the received signal power, measured in dBm * (decibel-milliwatts).

*/ inline int GetRxLevel() const{ return m_rxLevel; } /** *

Rx level, which is the received signal power, measured in dBm * (decibel-milliwatts).

*/ inline bool RxLevelHasBeenSet() const { return m_rxLevelHasBeenSet; } /** *

Rx level, which is the received signal power, measured in dBm * (decibel-milliwatts).

*/ inline void SetRxLevel(int value) { m_rxLevelHasBeenSet = true; m_rxLevel = value; } /** *

Rx level, which is the received signal power, measured in dBm * (decibel-milliwatts).

*/ inline GsmObj& WithRxLevel(int value) { SetRxLevel(value); return *this;} /** *

GSM object for network measurement reports.

*/ inline const Aws::Vector& GetGsmNmr() const{ return m_gsmNmr; } /** *

GSM object for network measurement reports.

*/ inline bool GsmNmrHasBeenSet() const { return m_gsmNmrHasBeenSet; } /** *

GSM object for network measurement reports.

*/ inline void SetGsmNmr(const Aws::Vector& value) { m_gsmNmrHasBeenSet = true; m_gsmNmr = value; } /** *

GSM object for network measurement reports.

*/ inline void SetGsmNmr(Aws::Vector&& value) { m_gsmNmrHasBeenSet = true; m_gsmNmr = std::move(value); } /** *

GSM object for network measurement reports.

*/ inline GsmObj& WithGsmNmr(const Aws::Vector& value) { SetGsmNmr(value); return *this;} /** *

GSM object for network measurement reports.

*/ inline GsmObj& WithGsmNmr(Aws::Vector&& value) { SetGsmNmr(std::move(value)); return *this;} /** *

GSM object for network measurement reports.

*/ inline GsmObj& AddGsmNmr(const GsmNmrObj& value) { m_gsmNmrHasBeenSet = true; m_gsmNmr.push_back(value); return *this; } /** *

GSM object for network measurement reports.

*/ inline GsmObj& AddGsmNmr(GsmNmrObj&& value) { m_gsmNmrHasBeenSet = true; m_gsmNmr.push_back(std::move(value)); return *this; } private: int m_mcc; bool m_mccHasBeenSet = false; int m_mnc; bool m_mncHasBeenSet = false; int m_lac; bool m_lacHasBeenSet = false; int m_geranCid; bool m_geranCidHasBeenSet = false; GsmLocalId m_gsmLocalId; bool m_gsmLocalIdHasBeenSet = false; int m_gsmTimingAdvance; bool m_gsmTimingAdvanceHasBeenSet = false; int m_rxLevel; bool m_rxLevelHasBeenSet = false; Aws::Vector m_gsmNmr; bool m_gsmNmrHasBeenSet = false; }; } // namespace Model } // namespace IoTWireless } // namespace Aws