⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmimms_main.c

📁 彩信的源代码,包括彩信的打包,发送,接收,解包,对做彩信软件的朋友有帮助.
💻 C
📖 第 1 页 / 共 5 页
字号:
		  FFS_PARAM param
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
LOCAL void SaveFS_SaveDraftboxFile_CallBack(FFS_ERROR_E efs_error, FFS_RESULT result, FFS_PARAM param);

/* ----------------------------------------------------------------------------
* Function Name: SaveFS_SaveMMS_CallBack
* Purpose: 保存彩信回调函数
* Input:  FFS_ERROR_E efs_error, 
		  FFS_RESULT result, 
		  FFS_PARAM param
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
LOCAL void SaveFS_SaveMMS_CallBack(FFS_ERROR_E efs_error, FFS_RESULT result, FFS_PARAM param);

/* ----------------------------------------------------------------------------
* Function Name: SaveFS_SaveVideo_CallBack
* Purpose: 保存视频回调函数
* Input:  FFS_ERROR_E efs_error, 
		  FFS_RESULT result, 
		  FFS_PARAM param
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
LOCAL void SaveFS_SaveVideo_CallBack(FFS_ERROR_E efs_error, FFS_RESULT result, FFS_PARAM param);

/* ----------------------------------------------------------------------------
* Function Name: SaveFS_SaveMp3_CallBack
* Purpose: 保存MP3回调函数
* Input:  FFS_ERROR_E efs_error, 
		  FFS_RESULT result, 
		  FFS_PARAM param
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
LOCAL void SaveFS_SaveMp3_CallBack(FFS_ERROR_E efs_error, FFS_RESULT result, FFS_PARAM param);

/* ----------------------------------------------------------------------------
* Function Name: SaveFS_SaveAutoSign_CallBack
* Purpose: 保存自动签名页回调函数
* Input:  FFS_ERROR_E efs_error, 
		  FFS_RESULT result, 
		  FFS_PARAM param
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
LOCAL void SaveFS_SaveAutoSign_CallBack(FFS_ERROR_E efs_error, FFS_RESULT result, FFS_PARAM param);

/* ----------------------------------------------------------------------------
* Function Name: MMIVC_ReadMMS_CallBack
* Purpose: 读取彩信的回调函数
* Input:  FFS_ERROR_E a, 
		  FFS_RESULT result, 
		  FFS_PARAM param
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
LOCAL void MMIVC_ReadMMS_CallBack(
								FFS_ERROR_E a, 
								FFS_RESULT result, 
								FFS_PARAM param
								);

/* ----------------------------------------------------------------------------
* Function Name: MMIVC_CallBackDeleteMMSFile
* Purpose: 删除彩信的回调函数
* Input:  FFS_ERROR_E a, 
		  FFS_RESULT result, 
		  FFS_PARAM param
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
LOCAL void MMIVC_CallBackDeleteMMSFile(
							  FFS_ERROR_E a, 
							  FFS_RESULT result, 
							  FFS_PARAM param
							  );

/* ----------------------------------------------------------------------------
* Function Name: MMIVC_CallBackDeleteManagerFile
* Purpose: 删除彩信管理目录的回调函数
* Input:  FFS_ERROR_E a, 
		  FFS_RESULT result, 
		  FFS_PARAM param
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
LOCAL void MMIVC_CallBackDeleteManagerFile(
							  FFS_ERROR_E a, 
							  FFS_RESULT result, 
							  FFS_PARAM param
							  );

/* ----------------------------------------------------------------------------
* Function Name: MMIVC_CallBackDeleteManagerInboxFile
* Purpose: 删除彩信收件箱管理目录的回调函数
* Input:  FFS_ERROR_E a, 
		  FFS_RESULT result, 
		  FFS_PARAM param
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
LOCAL void MMIVC_CallBackDeleteManagerInboxFile(
							  FFS_ERROR_E a, 
							  FFS_RESULT result, 
							  FFS_PARAM param
							  );

/* ----------------------------------------------------------------------------
* Function Name: MMIVC_CallBackDeleteOneMMSFile
* Purpose: 删除某一彩信的回调函数
* Input:  FFS_ERROR_E a, 
		  FFS_RESULT result, 
		  FFS_PARAM param
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
LOCAL void MMIVC_CallBackDeleteOneMMSFile(
								 FFS_ERROR_E a, 
								 FFS_RESULT result, 
								 FFS_PARAM param
								 );


/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Notification_Arrive
* Purpose: 彩信通知push处理函数
* Input:  void * ptr:push内容
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
LOCAL void MMIMMS_Notification_Arrive(void * ptr);

/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_DeliveryRpt_Arrive
* Purpose: 送达报告处理函数
* Input:  void * ptr:push内容
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
LOCAL void MMIMMS_DeliveryRpt_Arrive(void * ptr);

/* ----------------------------------------------------------------------------
* Function Name: CmsTimeToString
* Purpose: 获得当前时间对应的字符串 指针
* Input:  MMI_TM_T:时间结构
* Returns: 对应的字符串指针
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
uint8 * CmsTimeToString(MMI_TM_T tm);

/* ----------------------------------------------------------------------------
* Function Name: CmsTimeToString
* Purpose: 取得文件的长度
* Input:  虚拟文件句柄
* Returns: 虚拟文件的长度
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
uint32 Cms_GetFileLength( FILE_HANDLE file);

/**--------------------------------------------------------------------------*

**                         FUNCTION DEFINITION                              *

**--------------------------------------------------------------------------*/
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_get_port
* Purpose: 得到当前的网关和端口号
* Input:  curgatway:	当前的网关
		  curport:	当前的端口号
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
void MMIMMS_get_port(char **curgatway,unsigned short *curport)
{	
	SCI_TRACE_LOW("FNH get_port g_nv_setting_mirror->gateway = %s",g_nv_setting_mirror.gateway);
	SCI_TRACE_LOW("FNH get_port g_nv_setting_mirror->port = %s",g_nv_setting_mirror.port);
	*curgatway =(char *)g_nv_setting_mirror.gateway;
	*curport = (unsigned short)atoi((char *)g_nv_setting_mirror.port);
	SCI_TRACE_LOW("FNH *curport = %d",*curport);
	return ;
}

/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_IsIPAddress
* Purpose:判断用户输入的网关地址是否是IP地址
* Input:  curipaddress:	当前的网关地址
* Output: BOOLEAN
		  TRUE: 是IP地址
		  FALSE:不是IP地址
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
BOOLEAN MMIMMS_IsIPAddress(char *curipaddress)
{
	char *tempstr = NULL;
	char curipnum[34];
	short len = 0;
	short ipcount = 0;
	short curnum = 0;
	short curadd = 0;
	short index = 0;
	tempstr = curipaddress;
	len = (short)strlen(curipaddress);
	SCI_MEMSET(curipnum,0,sizeof(curipnum));
	for (index = 0;index <= len;index ++ )
	{
		if (((curipaddress[index] <0x30 || curipaddress[index] >0x39) && curipaddress[index] != 0x2E)&& (index != len))
		{
			return FALSE;
		}
		curnum ++;
		if ((curipaddress[index] == 0x2E) ||(index == len))
		{
			if ((curnum > 4) || (curnum == 1))
			{
				return FALSE;
			}
			else
			{
				short i = 0;
				if (curnum > 2)
				{
					BOOLEAN firstchar = FALSE;
					while(!firstchar)
					{
						i = 0;
						if (curipnum[i] !=0x30)
						{
							firstchar = TRUE;
						}
						else
						{
							if(curipnum[i] == 0x30  && i <curnum-2 && curipnum[i+1] != 0)
							{
								return FALSE; 
							}
						}
						i++;
						if (i==curnum)
						{
							firstchar = TRUE;
						}
					}

				}
				curadd = (short)atoi(curipnum);
				if (curadd > 0xFF)
				{
					return FALSE;
				}
				ipcount ++;
				SCI_MEMSET(curipnum,0,sizeof(curipnum));
				curnum = 0;
			}
		}
		else
			curipnum[curnum-1] = curipaddress[index];
	}
	if (ipcount == 4)
		return TRUE;
	else
		return FALSE;
}

/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_AddVideo
* Purpose:在当前页添加视频
* Input:  T_Composer_Video:	视频结构
		  pMMS_EDocument: 编辑文档
* Returns:T_WORD
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
T_WORD MMIMMS_AddVideo(T_Composer_Video*Video,pMMS_EDocument p_cur_doc)
{
#ifdef HAVE_MPEG4
	int16         type = 0;
	char		  video_fname[MMS_FILE_NAME_LENGTH] = {0};
	SCI_FILE*	  fd = 0;
	uint32 value = 0;

	SCI_TRACE_LOW("MMIMMS_AddVideo in");
	if ((p_cur_doc->totalsize + Video->size) > MMS_SIZE_OF_MESSAGE)

	{
		SCI_TRACE_LOW("open the file error");
		PUBWIN_OpenPromptAlertWin(
			PUBWIN_SOFTKEY_ONE, 
			TXT_MMS_MMS_TOO_BIG, 
			IMAGE_PROMPT_ICON_WRONG, 
			ALERT_TIMEOUT, 
			PNULL
			);
		return -1;
	}

	value = MMI_GetFfsTime();

	sprintf(video_fname,"%lu",value);

	SCI_TRACE_LOW("FNH video_fname = %s",video_fname);
	if (Video->Type == MPEG4_3GP_FILE)
	{
		type = MMS_TYPE_3GP;
		strcat(video_fname,".3gp");
	}
	else if (Video->Type == MPEG4_MP4_FILE)
	{
		type = MMS_TYPE_MP4;
		strcat(video_fname,".mp4");
	}
	SCI_TRACE_LOW("FNH type = %d",type);

	fd =(SCI_FILE*) mmsf_Open((char*)video_fname,"w");

	if (!fd )
	{
		SCI_TRACE_LOW("open the file error");
		PUBWIN_OpenPromptAlertWin(
			PUBWIN_SOFTKEY_ONE, 
			TXT_MMS_ADD_FAIL, 
			IMAGE_PROMPT_ICON_WRONG, 
			ALERT_TIMEOUT, 
			PNULL
			);
		return -1;
	}

	mmsf_Write((char *)Video->VidBuf, 1, Video->size,(FILE_HANDLE) fd);
	mmsf_Close((FILE_HANDLE)fd);
	if (MMS_New_Content((unsigned char*)video_fname,type,p_cur_doc->slide_cur,p_cur_doc))
	{
		SCI_TRACE_LOW("FNH NEW VIDEO IS SUCCESS");
		return 0;
	}
	else 
	{
		SCI_TRACE_LOW("FNH NEW VIDEO IS FAIL");
		PUBWIN_OpenPromptAlertWin(
			PUBWIN_SOFTKEY_ONE, 
			TXT_MMS_ADD_FAIL, 
			IMAGE_PROMPT_ICON_WRONG, 
			ALERT_TIMEOUT, 
			PNULL
			);
		return -1;
	}
#endif
}

/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_SetCurSlideDuration
* Purpose:设置当前页面的延时
* Input:  T_WORD:	延时时间
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
T_WORD MMIMMS_SetCurSlideDuration(T_WORD delay)
{
	g_peditdoc->slide_cur->times = delay* ONE_KILO;
	return 1;
}

/* ----------------------------------------------------------------------------
* Function Name: CmsIsSupportType
* Purpose:判断是否是支持的数据类型
* Input:  uint16 type:图片文档
* Returns:BOOLEAN
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
BOOLEAN CmsIsSupportType(uint16 type)
{
	BOOLEAN returnvalue = FALSE;
	if (type == MMS_TYPE_GIF ||
		type == MMS_TYPE_JPEG ||
		type == MMS_TYPE_WBMP ||
		type == MMS_TYPE_BMP1 ||
		type == MMS_TYPE_PNG )
	{
		returnvalue = TRUE;
	}
	return returnvalue;
}
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_DeleteCurImage
* Purpose:从当前页删除图像
* Input:  pMMS_EDocument:编辑文档
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/ 
T_WORD MMIMMS_DeleteCurImage(pMMS_EDocument p_cur_doc)
{

	uint16			 	type = 0;
	pMMS_Content 	content = NULL;
	pMMS_Slide   		slide = p_cur_doc->slide_cur; 
	if(slide->image_flag)
	{
		content = slide->content_root;
		while (content)
		{
			if (CmsIsSupportType(content->type))
			{
				type = (uint16)content->type;
				break;
			}
			content = content->next;
		}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -