diff options
author | Jeff Hatch <jhatch@multitech.com> | 2020-02-25 10:40:01 -0600 |
---|---|---|
committer | Jeff Hatch <jhatch@multitech.com> | 2020-02-25 10:40:01 -0600 |
commit | 36201df0d08daeeb64bb3923da789025a277a4ef (patch) | |
tree | e06153349d380256059021e177107eee407ee002 /src/MTS_IO_CellularRadio.cpp | |
parent | cdd3fbe0f999546b3f39843f6f742f185781edd7 (diff) | |
parent | 0b0059b2f99874133b9cc988ce9279b6a31be6ff (diff) | |
download | libmts-io-36201df0d08daeeb64bb3923da789025a277a4ef.tar.gz libmts-io-36201df0d08daeeb64bb3923da789025a277a4ef.tar.bz2 libmts-io-36201df0d08daeeb64bb3923da789025a277a4ef.zip |
Merge branch 'sk/MTX-3239-dynamic-cell-mode' into 'master'
[MTX-3239] Add "cellularMode" value to the radio-query --dynamic
See merge request !12
Diffstat (limited to 'src/MTS_IO_CellularRadio.cpp')
-rw-r--r-- | src/MTS_IO_CellularRadio.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/MTS_IO_CellularRadio.cpp b/src/MTS_IO_CellularRadio.cpp index 8bdd00e..191299b 100644 --- a/src/MTS_IO_CellularRadio.cpp +++ b/src/MTS_IO_CellularRadio.cpp @@ -694,6 +694,14 @@ void CellularRadio::getCommonNetworkStats(Json::Value& jData) { jData[ICellularRadio::KEY_NETWORK_REG] = sNetworkReg; } } + + std::string sCurrentCellMode; + CELLULAR_MODES eModes; + if (getCellularMode(eModes) == SUCCESS) { + if (convertCellModesToString(eModes, sCurrentCellMode) == SUCCESS) { + jData[ICellularRadio::KEY_CELL_MODE] = sCurrentCellMode; + } + } } ICellularRadio::CODE CellularRadio::getSimLockStatus(std::string& sData) @@ -851,6 +859,30 @@ ICellularRadio::CODE CellularRadio::convertRegistrationToString(REGISTRATION eRe return eCode; } +ICellularRadio::CODE CellularRadio::convertCellModesToString(ICellularRadio::CELLULAR_MODES eCellModes, std::string& sCellModes) { + std::string sResult; + + if (eCellModes & CELLULAR_MODE_2G) { + sResult += "2g,"; + } + if (eCellModes & CELLULAR_MODE_3G) { + sResult += "3g,"; + } + if (eCellModes & CELLULAR_MODE_4G) { + sResult += "4g,"; + } + if (eCellModes & CELLULAR_MODE_5G) { + sResult += "5g,"; + } + + if (!sResult.empty()) { + sResult.pop_back(); // remove trailing comma + } + + sCellModes = sResult; + return SUCCESS; +} + ICellularRadio::CODE CellularRadio::unlockSimCard(const Json::Value& jArgs) { printTrace("%s| Unlock the SIM card using PIN code", m_sName.c_str()); |