Sample code for Network Scan
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
static void ReadScanInfo
(
)
{
bool boolTest;
char mcc[LE_MRC_MCC_BYTES] = {0};
char mnc[LE_MRC_MNC_BYTES] = {0};
char nameStr[100] = {0};
res = le_mrc_GetCellularNetworkMccMnc(scanInfoRef, mcc, LE_MRC_MCC_BYTES, mnc, LE_MRC_MCC_BYTES);
LE_ASSERT(res == LE_OK);
res = le_mrc_GetCellularNetworkName(scanInfoRef, nameStr, 1);
res = le_mrc_GetCellularNetworkName(scanInfoRef, nameStr, 100);;
LE_ASSERT(res == LE_OK);
LE_INFO("1st cellular network name.%s", nameStr);
rat = le_mrc_GetCellularNetworkRat(scanInfoRef);
LE_INFO("le_mrc_GetCellularNetworkRat returns rat %d", rat);
boolTest = le_mrc_IsCellularNetworkInUse(scanInfoRef);
LE_INFO("IsCellularNetworkInUse is %s", ( (boolTest) ? "true" : "false"));
boolTest = le_mrc_IsCellularNetworkAvailable(scanInfoRef);
LE_INFO("le_mrc_IsCellularNetworkAvailable is %s", ( (boolTest) ? "true" : "false"));
boolTest = le_mrc_IsCellularNetworkHome(scanInfoRef);
LE_INFO("le_mrc_IsCellularNetworkHome is %s", ( (boolTest) ? "true" : "false"));
boolTest = le_mrc_IsCellularNetworkForbidden(scanInfoRef);
LE_INFO("le_mrc_IsCellularNetworkForbidden is %s", ( (boolTest) ? "true" : "false"));
}
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
static void Testle_mrc_PerformCellularNetworkScan()
{
le_mrc_RatBitMask_t bitMaskOrigin = 0;
le_mrc_ScanInformationListRef_t scanInfoListRef = NULL;
le_mrc_ScanInformationRef_t scanInfoRef = NULL;
// Get the current rat preference.
res = le_mrc_GetRatPreferences(&bitMaskOrigin);
LE_ASSERT(res == LE_OK);
if ((bitMaskOrigin & LE_MRC_BITMASK_RAT_GSM) || (bitMaskOrigin == LE_MRC_BITMASK_RAT_ALL))
{
LE_INFO("Perform scan on GSM");
scanInfoListRef = le_mrc_PerformCellularNetworkScan(LE_MRC_BITMASK_RAT_GSM);
}
else if (bitMaskOrigin & LE_MRC_BITMASK_RAT_UMTS)
{
LE_INFO("Perform scan on UMTS");
scanInfoListRef = le_mrc_PerformCellularNetworkScan(LE_MRC_BITMASK_RAT_UMTS);
}
LE_ASSERT(scanInfoListRef != NULL);
scanInfoRef = le_mrc_GetFirstCellularNetworkScan(scanInfoListRef);
LE_ASSERT(scanInfoRef != NULL);
ReadScanInfo(scanInfoRef);
while ((scanInfoRef = le_mrc_GetNextCellularNetworkScan(scanInfoListRef)) != NULL)
{
ReadScanInfo(scanInfoRef);
}
}