summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJeff Hatch <jhatch@multitech.com>2020-06-17 07:57:52 -0500
committerJeff Hatch <jhatch@multitech.com>2020-06-17 07:57:52 -0500
commita949739583abb1fe30895edfda216e83ffdbef52 (patch)
treeb104891745ea1206f5ae5e6d8728228583441112 /include
parentc34ebcd0df9c5bdbeb5638e9a5498cbee6bab628 (diff)
parent747b898f36c4764475e61f20847ba4bbb3a81404 (diff)
downloadlibmts-io-a949739583abb1fe30895edfda216e83ffdbef52.tar.gz
libmts-io-a949739583abb1fe30895edfda216e83ffdbef52.tar.bz2
libmts-io-a949739583abb1fe30895edfda216e83ffdbef52.zip
Merge branch 'sk/sim-carrier-detect' into 'mpower-5.2-lna7'
[GP-654] Add SIM card-based carrier detection See merge request !24
Diffstat (limited to 'include')
-rw-r--r--include/mts/MTS_IO_CellularRadio.h4
-rw-r--r--include/mts/MTS_IO_ICellularRadio.h22
2 files changed, 26 insertions, 0 deletions
diff --git a/include/mts/MTS_IO_CellularRadio.h b/include/mts/MTS_IO_CellularRadio.h
index 7f4ed2b..ed87a24 100644
--- a/include/mts/MTS_IO_CellularRadio.h
+++ b/include/mts/MTS_IO_CellularRadio.h
@@ -81,6 +81,7 @@ namespace MTS {
CODE convertCellModesToString(CELLULAR_MODES eCellModes, std::string& sCellModes) override;
CODE unlockSimCard(const Json::Value& jArgs) override;
+ CODE getSimCarrierCode(std::string& sCarrierCode) override;
CODE getMipProfile(Json::Value& jMipProfile) override;
CODE validateMsl(const Json::Value& jArgs) override;
@@ -164,6 +165,9 @@ namespace MTS {
*/
virtual CODE getSimLockAttempts(int& iAttemptsPin, int& iAttemptsPuk) = 0;
+ //! Get carrier code based on the SIM card ID (ICCID)
+ virtual CODE getSimCarrierCode(const std::string& sIccid, std::string& sCarrierCode);
+
void initMipProfile(Json::Value& jData);
bool splitAndAssign(const std::string& sLine, const std::string& sKey, Json::Value& jParent, const std::string& sJsonKey, Json::ValueType eType = Json::ValueType::stringValue);
diff --git a/include/mts/MTS_IO_ICellularRadio.h b/include/mts/MTS_IO_ICellularRadio.h
index c301191..f2d4dfe 100644
--- a/include/mts/MTS_IO_ICellularRadio.h
+++ b/include/mts/MTS_IO_ICellularRadio.h
@@ -127,6 +127,7 @@ namespace MTS {
static const char *KEY_ICCID; //!< Integrated Circuit Card Identifier
static const char *KEY_MSL; //!< Master Subsidy Lock
static const char *KEY_SUPPORTED_CELL_MODES; //!< Comma-separated list of all supported cellular modes (2g,3g,4g)
+ static const char *KEY_SIM_CARRIER_CODE; //!< Unique carrier identifier based on the SIM card information.
//Network Status Data
@@ -200,6 +201,10 @@ namespace MTS {
static const char *VALUE_ABND_DCS_1800;
static const char *VALUE_ABND_PCS_1900;
+ //Values - Carrier code; abstraction over PLMN IDs, IINs and other identifiers
+ static const char *VALUE_CARRIER_CODE_VERIZON;
+ static const char *VALUE_CARRIER_CODE_ATT;
+
static const std::vector<std::string> DEFAULT_BAIL_STRINGS;
virtual ~ICellularRadio() = 0;
@@ -290,6 +295,23 @@ namespace MTS {
*/
virtual CODE unlockSimCard(const Json::Value& jArgs) = 0;
+ /**
+ * @brief getSimCarrierCode - get unique carrier identifier based on
+ * the SIM card information.
+ *
+ * @param sCarrier - a string to be populated with one of the carrier codes:
+ *
+ * - VALUE_CARRIER_CODE_VERIZON - Verizon
+ * - VALUE_CARRIER_CODE_ATT - AT&T
+ * - VALUE_UNKNOWN - Unknown carrier
+ * - other values may be defined in the future
+ *
+ * @return CODE::SUCCESS when carrier code retrieved,
+ * CODE::ERROR otherwise (i.e. when modem is not responding,
+ * when SIM card is removed or on any other error).
+ */
+ virtual CODE getSimCarrierCode(std::string& sCarrierCode) = 0;
+
//! Gather details of the radio's Mobile IP Profile
/*!
\param Json::Value object that will be populated with MIP data