📄 jwa_mms.c
字号:
* FUNCTION
* jwa_mms_reset_recv_data
* DESCRIPTION
*
* PARAMETERS
* void
* RETURNS
*
*****************************************************************************/
int jwa_mms_reset_recv_data()
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
J2ME_mms_reset_recv_data();
return J2ME_MMS_OK;
}
/*****************************************************************************
* FUNCTION
* jwa_mms_get_mseesag_part
* DESCRIPTION
*
* PARAMETERS
* receive_msg_part [?]
* RETURNS
*
*****************************************************************************/
int jwa_mms_get_mseesag_part(jwa_mms_receive_msg_part_struct *receive_msg_part)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_uint32 filesize = 0;
jwa_mms_receive_msg_part_struct *receive_msg_part_data = receive_msg_part;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
receive_msg_part_data->encoding_scheme = j2me_mms_recv_part_data.encoding_scheme;
receive_msg_part_data->content_type_len = j2me_mms_recv_part_data.content_type_len;
receive_msg_part_data->content_id_len = j2me_mms_recv_part_data.content_id_len;
receive_msg_part_data->content_location_len = j2me_mms_recv_part_data.content_location_len;
if (j2me_mms_recv_part_data.filepath_len > 0)
{
FS_HANDLE fh;
fh = FS_Open(j2me_mms_recv_part_data.filepath, FS_READ_ONLY);
if (fh < 0)
{
FS_Close(fh);
return J2ME_MMS_READ_MSG_CONTENT_PART_FILE_ERROR;
}
if (FS_GetFileSize(fh, &filesize) != FS_NO_ERROR)
{
FS_Close(fh);
return J2ME_MMS_READ_MSG_CONTENT_PART_FILE_ERROR;
}
FS_Close(fh);
}
j2me_mms_recv_part_data.file_size = filesize;
receive_msg_part_data->file_size = j2me_mms_recv_part_data.file_size;
if (j2me_mms_recv_part_data.content_type != NULL)
{
receive_msg_part_data->content_type = j2me_mms_recv_part_data.content_type;
}
if (j2me_mms_recv_part_data.content_id != NULL)
{
receive_msg_part_data->content_id = j2me_mms_recv_part_data.content_id;
}
if (j2me_mms_recv_part_data.content_location != NULL)
{
receive_msg_part_data->content_location = j2me_mms_recv_part_data.content_location;
}
/* J2ME_mms_reset_recv_part_data(KAL_FALSE); */
return J2ME_MMS_OK;
}
/*****************************************************************************
* FUNCTION
* jwa_mms_get_message_part_content
* DESCRIPTION
*
* PARAMETERS
* receive_msg_part [?]
* RETURNS
*
*****************************************************************************/
int jwa_mms_get_message_part_content(jwa_mms_receive_msg_part_content_struct *receive_msg_part)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_wchar filepath[100];
kal_uint8 filename[] = "mms_temp_content";
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (j2me_mms_recv_part_data.filepath_len == 0 || j2me_mms_recv_part_data.filepath == NULL)
{
return J2ME_MMS_EMPTY_MSG_CONTENT_PART;
}
if (j2me_mms_recv_part_data.file_size == 0)
{
FS_HANDLE fh;
kal_uint32 filesize;
fh = FS_Open(j2me_mms_recv_part_data.filepath, FS_READ_ONLY);
if (fh < 0)
{
FS_Close(fh);
return J2ME_MMS_READ_MSG_CONTENT_PART_FILE_ERROR;
}
if (FS_GetFileSize(fh, &filesize) != FS_NO_ERROR)
{
FS_Close(fh);
return J2ME_MMS_READ_MSG_CONTENT_PART_FILE_ERROR;
}
j2me_mms_recv_part_data.file_size = filesize;
FS_Close(fh);
}
kal_wsprintf(filepath, "%s\\%s", j2me_sys_dir_path, filename);
//FS_Delete(filepath);
//FS_Rename(j2me_mms_recv_part_data.filepath, filepath);
FS_Move(j2me_mms_recv_part_data.filepath, filepath, FS_MOVE_KILL | FS_MOVE_OVERWRITE, NULL, NULL, 0);
receive_msg_part->file_size = j2me_mms_recv_part_data.file_size;
mmi_ucs2_to_asc((S8*) receive_msg_part->filepath, (S8*) filepath);
receive_msg_part->filepath_len = strlen((char*)receive_msg_part->filepath);
J2ME_mms_reset_recv_part_data(KAL_TRUE);
return J2ME_MMS_OK;
}
/*****************************************************************************
* FUNCTION
* jwa_mms_get_primitive_result
* DESCRIPTION
*
* PARAMETERS
* void
* RETURNS
*
*****************************************************************************/
int jwa_mms_get_primitive_result()
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
return (int)j2me_mms_result;
}
/*****************************************************************************
* FUNCTION
* jwa_mms_get_response_primitive
* DESCRIPTION
*
* PARAMETERS
* void
* RETURNS
*
*****************************************************************************/
int jwa_mms_get_response_primitive()
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
unsigned long message_id;
int result = -1;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
message_id = readMmsAsyncEvent();
switch (message_id)
{
case MSG_ID_WAP_MMC_SEND_APPMMS_RSP:
{
result = MSG_MMS_SEND_APPMMS_RSP;
}
break;
case MSG_ID_WAP_MMC_POST_APPMMS_MSG_PART_IND:
{
result = MSG_MMS_POST_APPMMS_MSG_PART_IND;
}
break;
case MSG_ID_WAP_MMC_CFG_APPMMS_APPID_RSP:
{
result = MSG_MMS_CFG_APPMMS_APPID_RSP;
}
break;
case MSG_ID_WAP_MMC_CHECK_APPMMS_COMING_RSP:
{
result = MSG_MMS_CHECK_APPMMS_COMING_RSP;
}
break;
case MSG_ID_WAP_MMC_RECV_APPMMS_RSP:
{
result = MSG_MMS_RECV_APPMMS_RSP;
}
break;
case MSG_ID_WAP_MMC_READ_APPMMS_MSG_PART_RSP:
{
result = MSG_MMS_READ_APPMMS_CONTENT_RSP;
}
break;
/*
* case MSG_ID_MMI_PHB_GET_ENTRY_BY_INDEX_RSP:{
* result = MSG_MMS_PHB_GET_ENTRY_BY_INDEX_RSP;
* }
* break;
*/
default:
{
result = -1;
}
break;
}
return (result);
}
/*****************************************************************************
* FUNCTION
* jwa_mms_finalize
* DESCRIPTION
*
* PARAMETERS
* void
* RETURNS
*
*****************************************************************************/
void jwa_mms_finalize()
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
finalizeMms();
}
/*****************************************************************************
* FUNCTION
* finalizeMms
* DESCRIPTION
*
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void finalizeMms()
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_uint8 i;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
J2ME_mms_reset_recv_data();
J2ME_mms_reset_recv_part_data(KAL_TRUE);
if (j2me_mms_in_progress)
{
J2ME_mms_send_ilm(NULL, NULL, MSG_ID_WAP_MMC_ABORT_APPMMS_REQ, wap_get_service_module(MSG_ID_WAP_MMC_ABORT_APPMMS_REQ));
j2me_mms_in_progress = KAL_FALSE;
}
for (i = 0; i < J2ME_MMS_REGISTER_APPID_NUM; i++)
{
if (j2me_mms_appid[i].app_id_len != 0 && j2me_mms_appid[i].app_id != NULL)
{
J2ME_mms_register((char*)j2me_mms_appid[i].app_id, 1, WMA_REGISTRY); /* 1 for remove */
j2me_mms_appid[i].app_id_len = 0;
jvm_free(j2me_mms_appid[i].app_id);
j2me_mms_appid[i].app_id = NULL;
}
}
}
/*****************************************************************************
* FUNCTION
* is_mms_activated
* DESCRIPTION
* check if there is any pending mms requests
* PARAMETERS
* void
* RETURNS
* TRUE if there is pending mms request, FALSE otherwise.
*****************************************************************************/
BOOL is_mms_activated(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (j2me_mms_in_progress)
{
return TRUE;
}
else
{
return FALSE;
}
}
/*****************************************************************************
* FUNCTION
* jwa_mms_get_mmsc_addr
* DESCRIPTION
* Get MMSC address string in ascii with null terminator
* PARAMETERS
* void
* RETURNS
* MMSC address string
*****************************************************************************/
kal_char* jwa_mms_get_mmsc_addr(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
return (kal_char*)j2me_mms_mmsc_addr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -