📄 jprovoma.c
字号:
if (strcmp(attr_p->name, VALUE) == 0)
{
UnicodeToAnsii(parm_element, (S8*) attr_p->value);
}
}
else if (strcmp(parm_element, PROXY_ID) == 0)
{
attr_p = attr_p->next;
if (strcmp(attr_p->name, VALUE) == 0)
{
len = UCS2Strlen((S8*) attr_p->value);
if (len >= PROV_PROXY_ID_LEN)
{
len = PROV_PROXY_ID_LEN - 1;
}
UnicodeNToAnsii((S8*) logProxyData_p->proxy_id, (S8*) attr_p->value, len * ENCODING_LENGTH);
logProxyData_p->proxy_id[len] = '\0';
}
}
else if (strcmp(parm_element, STARTPAGE) == 0)
{
attr_p = attr_p->next;
len = UCS2Strlen((S8*) attr_p->value);
if (len >= PROV_PROFILE_HOMEPAGE_URL_LEN)
{
len = PROV_PROFILE_HOMEPAGE_URL_LEN - 1;
}
UnicodeNToAnsii((S8*) logProxyData_p->homepage_url, (S8*) attr_p->value, len * ENCODING_LENGTH);
logProxyData_p->homepage_url[len] = '\0';
// MAUI_00355388 Start
// mmi_prov_handle_homepage_url(attr_p); /* check to finally remove this line .. */
// MAUI_00355388 End
}
}
}
root_p = root_p->next;
if (root_p != NULL)
{
attr_p = root_p->attribute_list;
if (attr_p == NULL && root_p->name == NULL)
{
if (!mmi_prov_oma_check_if_redundant_logical_proxy(g_prov_proxy_data_p, logProxyData_p))
{
mmi_prov_oma_add_logical_proxy_info(&g_prov_proxy_data_p, logProxyData_p);
}
*nextroot_p = root_p;
return i_ret;
}
}
else
{
if (!mmi_prov_oma_check_if_redundant_logical_proxy(g_prov_proxy_data_p, logProxyData_p))
{
mmi_prov_oma_add_logical_proxy_info(&g_prov_proxy_data_p, logProxyData_p);
}
*nextroot_p = root_p;
return i_ret;
}
}
return i_ret;
}
/*****************************************************************************
* FUNCTION
* mmi_prov_oma_handle_pxphysical_tag
* DESCRIPTION
* This function deals with the PXPHYSICAL characteristic tag and its PARM elements
* PARAMETERS
* nextroot_p [IN] IN\OUT
* RETURNS
* PROV_OK
*****************************************************************************/
PROV_RETCODE mmi_prov_oma_handle_pxphysical_tag(TAG **nextroot_p)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
PROV_RETCODE i_ret = PROV_OK;
ATTRIBUTE *attr_p = NULL;
TAG *root_p;
S8 parm_element[PROV_OMA_MIN_SIZE_REQ + 1];
prov_phy_proxy_data_struct *phyProxyData_p;
U32 len;
U32 valid_pxphysical_tag = 0x00;
U32 redundant_parm = 0x00;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
phyProxyData_p = jdd_MemAlloc(sizeof(prov_phy_proxy_data_struct), 1);
if(phyProxyData_p != NULL)
{
phyProxyData_p->connType = prov_proxy_port.connType;
phyProxyData_p->port = prov_proxy_port.port;
}
root_p = *nextroot_p;
root_p = root_p->next;
attr_p = root_p->attribute_list;
while (root_p != NULL)
{
if (strcmp(root_p->name, CHARACTERISTIC) == 0)
{
UnicodeToAnsii(parm_element, (S8*) root_p->attribute_list->value);
if (strcmp(parm_element, PORT) == 0)
{
mmi_prov_oma_handle_port_tag(&root_p, &phyProxyData_p);
}
if(g_prov_proxy_data_p->nextLogProxy_p)
{
if ((valid_pxphysical_tag)
&&
(!mmi_prov_oma_check_if_redundant_physical_proxy
(g_prov_proxy_data_p->nextLogProxy_p->logProxyData.physicalProxy, phyProxyData_p)))
{
mmi_prov_oma_add_physical_proxy_info(
&(g_prov_proxy_data_p->nextLogProxy_p->logProxyData.physicalProxy),
phyProxyData_p);
}
}
else
{
if ((valid_pxphysical_tag)
&&
(!mmi_prov_oma_check_if_redundant_physical_proxy
(g_prov_proxy_data_p->logProxyData.physicalProxy, phyProxyData_p)))
{
mmi_prov_oma_add_physical_proxy_info(
&(g_prov_proxy_data_p->logProxyData.physicalProxy),
phyProxyData_p);
}
}
*nextroot_p = root_p;
return i_ret;
}
else if (strcmp(root_p->name, PARM) == 0)
{
if (strcmp(attr_p->name, NAME) == 0)
{
UnicodeToAnsii(parm_element, (S8*) attr_p->value);
if (strcmp(parm_element, PXADDR) == 0)
{
attr_p = attr_p->next;
len = UCS2Strlen((S8*) attr_p->value);
if (len >= PROV_PX_ADDR_LEN)
{
len = PROV_PX_ADDR_LEN - 1;
}
UnicodeNToAnsii((S8*) phyProxyData_p->pxAddr, (S8*) attr_p->value, len * ENCODING_LENGTH);
phyProxyData_p->pxAddr[len] = '\0';
}
else if (strcmp(parm_element, TO_NAPID) == 0)
{
attr_p = attr_p->next;
if (redundant_parm & PROV_OMA_IGNORE_OTHER_TO_NAPID)
{
goto next;
}
if (strcmp(attr_p->name, VALUE) == 0)
{
len = UCS2Strlen((S8*) attr_p->value);
if (len >= PROV_NAP_ID_LEN)
{
len = PROV_NAP_ID_LEN - 1;
}
UnicodeNToAnsii((S8*) phyProxyData_p->toNapID, (S8*) attr_p->value, len * ENCODING_LENGTH);
phyProxyData_p->toNapID[len] = '\0';
}
redundant_parm |= PROV_OMA_IGNORE_OTHER_TO_NAPID;
valid_pxphysical_tag = 0x01;
}
else if (strcmp(parm_element, PROV_DOMAIN) == 0)
{
attr_p = attr_p->next;
if (strcmp(attr_p->name, VALUE) == 0)
{
UnicodeToAnsii(parm_element, (S8*) attr_p->value);
}
}
else if (strcmp(parm_element, PHYSICAL_PROXY_ID) == 0)
{
attr_p = attr_p->next;
if (strcmp(attr_p->name, VALUE) == 0)
{
len = UCS2Strlen((S8*) attr_p->value);
if (len >= PROV_PHYSICAL_PROXY_ID_LEN)
{
len = PROV_PHYSICAL_PROXY_ID_LEN - 1;
}
UnicodeNToAnsii(
(S8*) phyProxyData_p->physicalProxyID,
(S8*) attr_p->value,
len * ENCODING_LENGTH);
phyProxyData_p->physicalProxyID[len] = '\0';
}
}
}
}
next:
root_p = root_p->next;
if (root_p != NULL)
{
attr_p = root_p->attribute_list;
if (attr_p == NULL && root_p->name == NULL)
{
if ((valid_pxphysical_tag)
&&
(!mmi_prov_oma_check_if_redundant_physical_proxy
(g_prov_proxy_data_p->logProxyData.physicalProxy, phyProxyData_p)))
{
mmi_prov_oma_add_physical_proxy_info(
&(g_prov_proxy_data_p->logProxyData.physicalProxy),
phyProxyData_p);
}
*nextroot_p = root_p;
return i_ret;
}
}
else
{
if ((valid_pxphysical_tag)
&&
(!mmi_prov_oma_check_if_redundant_physical_proxy
(g_prov_proxy_data_p->logProxyData.physicalProxy, phyProxyData_p)))
{
mmi_prov_oma_add_physical_proxy_info(
&(g_prov_proxy_data_p->logProxyData.physicalProxy),
phyProxyData_p);
}
*nextroot_p = root_p;
return i_ret;
}
}
return i_ret;
}
/*****************************************************************************
* FUNCTION
* mmi_prov_oma_handle_port_tag
* DESCRIPTION
* This function deals with the PORT characteristic tag and its PARM elements
* PARAMETERS
* nextroot_p [IN] IN\OUT
* phyProxyData_p [IN] IN\OUT
* RETURNS
* PROV_OK
*****************************************************************************/
PROV_RETCODE mmi_prov_oma_handle_port_tag(TAG **nextroot_p, prov_phy_proxy_data_struct **phyProxyData_p)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
PROV_RETCODE i_ret = PROV_OK;
ATTRIBUTE *attr_p = NULL;
TAG *root_p;
S8 parm_element[PROV_OMA_MIN_SIZE_REQ + 1];
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
root_p = *nextroot_p;
root_p = root_p->next;
attr_p = root_p->attribute_list;
while (root_p != NULL)
{
if (strcmp(root_p->name, CHARACTERISTIC) == 0)
{
*nextroot_p = root_p;
return i_ret;
}
else if (strcmp(root_p->name, PARM) == 0)
{
if (strcmp(attr_p->name, NAME) == 0)
{
UnicodeToAnsii(parm_element, (S8*) attr_p->value);
if (strcmp(parm_element, PORTNBR) == 0)
{
attr_p = attr_p->next;
if (strcmp(attr_p->name, VALUE) == 0)
{
UnicodeToAnsii(parm_element, (S8*) attr_p->value);
(*phyProxyData_p)->port = atoi(parm_element);
}
}
else if (strcmp(parm_element, SERVICE) == 0)
{
attr_p = attr_p->next;
if (strcmp(attr_p->name, VALUE) == 0)
{
UnicodeToAnsii(parm_element, (S8*) attr_p->value);
if (strcmp(parm_element, "CO-WSP") == 0)
{
(*phyProxyData_p)->connType = PH_CONN_TYPE_CONNECTION_OREINTED;
/* g_ph_wap_profile_p->conn_type=PH_CONN_TYPE_CONNECTION_OREINTED; */
}
else if (strcmp(parm_element, "CO-SEC-WSP") == 0)
{
(*phyProxyData_p)->connType = PH_CONN_TYPE_CONNECTION_OREINTED_SECURE;
/* g_ph_wap_profile_p->conn_type=PH_CONN_TYPE_CONNECTION_OREINTED_SECURE; */
}
else if (strcmp(parm_element, "OTA-HTTP-TO") == 0)
{
(*phyProxyData_p)->connType = PH_CONN_TYPE_HTTP;
}
else if (strcmp(parm_element, "OTA-HTTP-TLS-TO") == 0)
{
(*phyProxyData_p)->connType = PH_CONN_TYPE_HTTP;
}
else if (strcmp(parm_element, "OTA-HTTP-PO") == 0)
{
(*phyProxyData_p)->connType = PH_CONN_TYPE_HTTP;
}
else if (strcmp(parm_element, "OTA-HTTP-TLS-PO") == 0)
{
(*phyProxyData_p)->connType = PH_CONN_TYPE_HTTP;
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -