📄 jprofilestoragehandler.c
字号:
* RETURNS
* void
*****************************************************************************/
void mmi_ph_update_nvram_mms_profile(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S16 error;
U32 index = g_ph_cntx.profile_index;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (UCS2Strlen((S8*) g_ph_cntx.profile_display_p->profile_name))
{
if (GetUCS2Flag((S8*) g_ph_cntx.profile_display_p->profile_name))
{
g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].dcs = PH_DCS_UCS;
UCS2Strncpy(
(S8*) (g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].profile_name),
(S8*) g_ph_cntx.profile_display_p->profile_name,
NVRAM_WAP_PROFILE_PROFILE_NAME_LEN);
}
else
{
g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].dcs = PH_DCS_ASCII;
UnicodeToAnsii(
(S8*) (g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].profile_name),
(S8*) g_ph_cntx.profile_display_p->profile_name);
}
}
else
{
S8 temp_unicode[8];
S8 temp[4];
S8 *profile_name_p;
profile_name_p = (S8*) get_string((MMI_ID_TYPE) STR_ID_PROF_HDLR_PROFILE);
gui_itoa((S32) (index + 1), (U16*) temp, 10);
AnsiiToUnicodeString((S8*) temp_unicode, (S8*) temp);
UCS2Strcpy((S8*) g_ph_cntx.profile_display_p->profile_name, profile_name_p);
UCS2Strcat((S8*) g_ph_cntx.profile_display_p->profile_name, temp_unicode);
g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].dcs = PH_DCS_UCS;
UCS2Strncpy(
(S8*) (g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].profile_name),
(S8*) g_ph_cntx.profile_display_p->profile_name,
NVRAM_WAP_PROFILE_PROFILE_NAME_LEN);
}
UnicodeToAnsii((S8*) g_ph_mms_profile_p->mmsc_url, (S8*) (g_ph_cntx.profile_display_p->homepage_url));
UnicodeToAnsii((S8*) (g_ph_mms_profile_p->username), (S8*) (g_ph_cntx.profile_display_p->username));
UnicodeToAnsii((S8*) (g_ph_mms_profile_p->password), (S8*) (g_ph_cntx.profile_display_p->password));
if (index == g_ph_cntx.mms_actived_profile_index)
{
memcpy(g_ph_activated_mms_profile, g_ph_mms_profile_p, NVRAM_EF_MMS_PROFILE_CONTENT_SIZE);
#if defined(MMS_SUPPORT)/*dilip*/
mmi_jmms_set_profile();
#endif
}
WriteRecord(
NVRAM_EF_MMS_PROFILE_CONTENT_LID,
(U16) (index + 1),
g_ph_mms_profile_p,
NVRAM_EF_MMS_PROFILE_CONTENT_SIZE,
&error);
WriteRecord(NVRAM_EF_MMS_PROFILE_NAMES_LID, 1, g_ph_mms_prof_name_arr_p, NVRAM_EF_MMS_PROFILE_NAMES_SIZE, &error);
DisplayPopup((PU8) GetString(STR_GLOBAL_DONE), IMG_GLOBAL_ACTIVATED, 1, UI_POPUP_NOTIFYDURATION_TIME, SUCCESS_TONE);
DeleteNHistory(1);
}
/*****************************************************************************
* FUNCTION
* mmi_ph_update_nvram_activated_wap_profile
* DESCRIPTION
* Updates the NVRAM browser activated profile content data
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_ph_update_nvram_activated_wap_profile(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S16 error;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
WriteRecord(
NVRAM_EF_WAP_PROFILE_CONTENT_LID,
(U16) (g_ph_cntx.wap_actived_profile_index + 1),
g_ph_activated_wap_profile,
NVRAM_EF_WAP_PROFILE_CONTENT_SIZE,
&error);
}
/*****************************************************************************
* FUNCTION
* mmi_ph_update_nvram_activated_mms_profile
* DESCRIPTION
* Updates the NVRAM MMS activated profile content data
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_ph_update_nvram_activated_mms_profile(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S16 error;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
WriteRecord(
NVRAM_EF_MMS_PROFILE_CONTENT_LID,
(U16) (g_ph_cntx.mms_actived_profile_index + 1),
g_ph_activated_mms_profile,
NVRAM_EF_MMS_PROFILE_CONTENT_SIZE,
&error);
}
/*****************************************************************************
* FUNCTION
* mmi_ph_update_prov_nvram_wap_profile
* DESCRIPTION
* Updates the NVRAM browser profile data(Both Name & Content) with the provisioing data for the index selected
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_ph_update_prov_nvram_wap_profile(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S16 error;
U8 conn_type;
U32 len = 0;
U32 index = g_ph_cntx.profile_index;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
g_ph_wap_profile_p->data_account = g_ph_cntx.profile_display_p->data_account;
WriteRecord(
NVRAM_EF_WAP_PROFILE_CONTENT_LID,
(U16) (index + 1),
g_ph_wap_profile_p,
NVRAM_EF_WAP_PROFILE_CONTENT_SIZE,
&error);
if (index == g_ph_cntx.wap_actived_profile_index)
{
memcpy(g_ph_activated_wap_profile, g_ph_wap_profile_p, NVRAM_EF_WAP_PROFILE_CONTENT_SIZE);
}
conn_type = g_ph_wap_profile_p->conn_type;
g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].conn_type = conn_type;
len = strlen((PS8) g_prov_profile_name_p);
if ((g_prov_profile_name_p != NULL) && (len > 0))
{
g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].dcs = PH_DCS_ASCII;
if (len >= PROV_PROFILE_PROFILE_NAME_LEN)
{
len = PROV_PROFILE_PROFILE_NAME_LEN - 1;
}
memcpy(g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].profile_name, g_prov_profile_name_p, len);
g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].profile_name[len] = '\0';
jdd_MemFree(g_prov_profile_name_p);
g_prov_profile_name_p = NULL;
}
else
{
S8 temp_unicode[8];
S8 temp[4];
S8 *profile_name_p;
S8 temp_name[PROV_PROFILE_PROFILE_NAME_LEN + 1];
profile_name_p = (S8*) get_string((MMI_ID_TYPE) STR_ID_PROF_HDLR_PROFILE);
len = UCS2Strlen((S8*) profile_name_p);
if (len > (PROV_PROFILE_PROFILE_NAME_LEN / 2))
{
len = PROV_PROFILE_PROFILE_NAME_LEN / 2;
}
if (GetUCS2Flag((S8*) profile_name_p))
{
gui_itoa((S32) (index + 1), (U16*) temp, 10);
AnsiiToUnicodeString((S8*) temp_unicode, (S8*) temp);
UCS2Strcat((S8*) profile_name_p, (S8*) temp_unicode);
g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].dcs = PH_DCS_UCS;
memcpy(
g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].profile_name,
profile_name_p,
len * ENCODING_LENGTH);
}
else
{
UnicodeNToAnsii((S8*) temp_name, (S8*) profile_name_p, len);
temp_name[len] = '\0';
gui_itoa((S32) (index + 1), (U16*) temp, 10);
strcat(temp_name, temp);
len = strlen(temp_name);
memcpy(g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].profile_name, temp_name, len + 1);
g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].dcs = PH_DCS_ASCII;
}
}
WriteRecord(NVRAM_EF_WAP_PROFILE_NAMES_LID, 1, g_ph_wap_prof_name_arr_p, NVRAM_EF_WAP_PROFILE_NAMES_SIZE, &error);
}
/*****************************************************************************
* FUNCTION
* mmi_ph_update_prov_nvram_mms_profile
* DESCRIPTION
* Updates the NVRAM browser profile data(Both Name & Content) with the provisioing data for the index selected
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_ph_update_prov_nvram_mms_profile(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S16 error;
U32 len;
U32 index = g_ph_cntx.profile_index;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
g_ph_mms_profile_p->data_account = g_ph_cntx.profile_display_p->data_account;
WriteRecord(
NVRAM_EF_MMS_PROFILE_CONTENT_LID,
(U16) (index + 1),
g_ph_mms_profile_p,
NVRAM_EF_MMS_PROFILE_CONTENT_SIZE,
&error);
if (index == g_ph_cntx.mms_actived_profile_index)
{
memcpy(g_ph_activated_mms_profile, g_ph_mms_profile_p, NVRAM_EF_MMS_PROFILE_CONTENT_SIZE);
#if defined(MMS_SUPPORT)/*dilip*/
mmi_jmms_set_profile();
#endif
}
len = strlen((PS8) g_prov_profile_name_p);
if ((g_prov_profile_name_p != NULL) && (len > 0))
{
g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].dcs = PH_DCS_ASCII;
if (len >= PROV_PROFILE_PROFILE_NAME_LEN)
{
len = PROV_PROFILE_PROFILE_NAME_LEN - 1;
}
memcpy(g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].profile_name, g_prov_profile_name_p, len);
g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].profile_name[len] = '\0';
jdd_MemFree(g_prov_profile_name_p);
g_prov_profile_name_p = NULL;
}
else
{
S8 temp_unicode[8];
S8 temp[4];
S8 *profile_name_p;
S8 temp_name[PROV_PROFILE_PROFILE_NAME_LEN + 1];
profile_name_p = (S8*) get_string((MMI_ID_TYPE) STR_ID_PROF_HDLR_PROFILE);
len = UCS2Strlen((S8*) profile_name_p);
if (len > PROV_PROFILE_PROFILE_NAME_LEN)
{
len = PROV_PROFILE_PROFILE_NAME_LEN;
}
if (GetUCS2Flag((S8*) profile_name_p))
{
gui_itoa((S32) (index + 1), (U16*) temp, 10);
AnsiiToUnicodeString((S8*) temp_unicode, (S8*) temp);
UCS2Strcat((S8*) profile_name_p, (S8*) temp_unicode);
g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].dcs = PH_DCS_UCS;
memcpy(
g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].profile_name,
profile_name_p,
len * ENCODING_LENGTH);
}
else
{
UnicodeNToAnsii((S8*) temp_name, (S8*) profile_name_p, len);
temp_name[len] = '\0';
gui_itoa((S32) (index + 1), (U16*) temp, 10);
strcat(temp_name, temp);
len = strlen(temp_name);
memcpy(g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].profile_name, temp_name, len + 1);
g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].dcs = PH_DCS_ASCII;
}
}
WriteRecord(NVRAM_EF_MMS_PROFILE_NAMES_LID, 1, g_ph_mms_prof_name_arr_p, NVRAM_EF_MMS_PROFILE_NAMES_SIZE, &error);
}
#endif /* defined (JATAAYU_SUPPORT) && (defined (WAP_SUPPORT) || (defined (MMS_SUPPORT))) */
#endif /* _JPROFILESTORAGEHANDLER_C */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -