summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/mts/MTS_IO_ICellularRadio.h1
-rw-r--r--src/MTS_IO_ICellularRadio.cpp21
2 files changed, 22 insertions, 0 deletions
diff --git a/include/mts/MTS_IO_ICellularRadio.h b/include/mts/MTS_IO_ICellularRadio.h
index 63b4f08..e8ae891 100644
--- a/include/mts/MTS_IO_ICellularRadio.h
+++ b/include/mts/MTS_IO_ICellularRadio.h
@@ -81,6 +81,7 @@ namespace MTS {
static CODE convertServiceDomainToString(SERVICEDOMAIN eSd, std::string& sSd);
static CODE convertActiveBandToString(ACTIVEBAND eBand, std::string& sBand);
static CODE convertUeModeToString(UE_MODES_OF_OPERATION mode, std::string& string);
+ static CODE convertStringToUeMode(const std::string& sMode, UE_MODES_OF_OPERATION& mode);
static std::string sendCommand(MTS::AutoPtr<MTS::IO::Connection>& apIo,
const std::string& sCmd,
diff --git a/src/MTS_IO_ICellularRadio.cpp b/src/MTS_IO_ICellularRadio.cpp
index 0621740..9f63408 100644
--- a/src/MTS_IO_ICellularRadio.cpp
+++ b/src/MTS_IO_ICellularRadio.cpp
@@ -540,3 +540,24 @@ MTS::IO::ICellularRadio::CODE MTS::IO::ICellularRadio::convertUeModeToString(MTS
return rc;
}
+MTS::IO::ICellularRadio::CODE MTS::IO::ICellularRadio::convertStringToUeMode(const std::string &sMode, UE_MODES_OF_OPERATION& mode) {
+ using namespace MTS::IO;
+ CODE rc;
+ if (sMode == "ps_1") {
+ mode = ICellularRadio::UE_MODES_OF_OPERATION::PS_MODE1;
+ rc = CODE::SUCCESS;
+ } else if (sMode == "ps_2") {
+ mode = ICellularRadio::UE_MODES_OF_OPERATION::PS_MODE2;
+ rc = CODE::SUCCESS;
+ } else if (sMode == "csps_1") {
+ mode = ICellularRadio::UE_MODES_OF_OPERATION::CS_PS_MODE1;
+ rc = CODE::SUCCESS;
+ } else if (sMode == "csps_2") {
+ mode = ICellularRadio::UE_MODES_OF_OPERATION::CS_PS_MODE2;
+ rc = CODE::SUCCESS;
+ } else {
+ mode = ICellularRadio::UNKNOWN_MODE;
+ rc = CODE::FAILURE;
+ }
+ return rc;
+}