Sample code for Network Registration
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
static void Testle_mrc_RegisterMode()
{
int cmpRes;
char mccHomeStr[LE_MRC_MCC_BYTES] = {0};
char mccStr[LE_MRC_MNC_BYTES] = {0};
char mncHomeStr[LE_MRC_MCC_BYTES] = {0};
char mncStr[LE_MRC_MNC_BYTES] = {0};
bool isManualOrigin, isManual;
// Get the home PLMN to compare results.
res = le_sim_GetHomeNetworkMccMnc(LE_SIM_EXTERNAL_SLOT_1, mccHomeStr, LE_MRC_MCC_BYTES,
mncHomeStr, LE_MRC_MNC_BYTES);
LE_ERROR_IF(res != LE_OK, "Home PLMN can't be retrives for test case");
LE_ASSERT(res == LE_OK);
LE_INFO("Home PLMN is mcc.%s mnc.%s", mccHomeStr, mncHomeStr);
res = le_mrc_GetRegisterMode(&isManualOrigin,
mccStr, LE_MRC_MCC_BYTES, mncStr, LE_MRC_MNC_BYTES);
LE_ASSERT(res == LE_OK);
LE_INFO("le_mrc_GetRegisterMode Manual(%c), mcc.%s mnc.%s",
(isManualOrigin ? 'Y' : 'N'),
mccStr, mncStr);
LE_ASSERT(res == LE_OK);
sleep(5);
memset(mccStr,0,LE_MRC_MCC_BYTES);
memset(mncStr,0,LE_MRC_MNC_BYTES);
res = le_mrc_GetRegisterMode(&isManual, mccStr, LE_MRC_MCC_BYTES, mncStr, LE_MRC_MNC_BYTES);
LE_ASSERT(res == LE_OK);
LE_ASSERT(isManual == false);
LE_INFO("le_mrc_GetRegisterMode Manual(%c), mcc.%s mnc.%s",
(isManualOrigin ? 'Y' : 'N'),
mccStr, mncStr);
res = le_mrc_SetManualRegisterMode(mccHomeStr, mncHomeStr);
LE_INFO("le_mrc_SetManualRegisterMode %s,%s return %d",mccHomeStr, mncHomeStr, res);
LE_ASSERT(res == LE_OK);
sleep(5);
memset(mccStr,0,LE_MRC_MCC_BYTES);
memset(mncStr,0,LE_MRC_MNC_BYTES);
res = le_mrc_GetRegisterMode(&isManual, mccStr, LE_MRC_MCC_BYTES, mncStr, LE_MRC_MNC_BYTES);
LE_ASSERT(res == LE_OK);
LE_ASSERT(isManual == true);
cmpRes = strcmp(mccHomeStr, mccStr);
LE_WARN_IF(cmpRes, "Doesn't match mccHomeStr (%s) mccStr (%s)",mccHomeStr, mccStr)
LE_ASSERT(cmpRes == 0);
cmpRes = strcmp(mncHomeStr, mncStr);
LE_WARN_IF(cmpRes, "Doesn't match mncHomeStr (%s) mncStr (%s)",mncHomeStr, mncStr)
LE_ASSERT(cmpRes == 0);
LE_INFO("le_mrc_GetRegisterMode Manual(Y), mcc.%s mnc.%s", mccStr, mncStr);
res = le_mrc_SetAutomaticRegisterMode();
LE_ASSERT(res == LE_OK);
sleep(5);
memset(mccStr,0,LE_MRC_MCC_BYTES);
memset(mncStr,0,LE_MRC_MNC_BYTES);
res = le_mrc_GetRegisterMode(&isManual, mccStr, LE_MRC_MCC_BYTES, mncStr, LE_MRC_MNC_BYTES);
LE_ASSERT(res == LE_OK);
LE_ASSERT(isManual == false);
}