📄 cms_wsp.c
字号:
// if(pBrowserInfo)
// {
// pBrowserInfo->FileType = CMS_HTTP_CONTENT_ML;
// }
FileType = CMS_HTTP_CONTENT_ML;
break;
case 0x21:/* "image/vnd.wap.wbmp", 0x21 ,*/
////cms_trace("download a WBMP");
// if(pBrowserInfo)
// {
// pBrowserInfo->FileType = CMS_HTTP_CONTENT_WBMP;
// }
FileType = CMS_HTTP_CONTENT_WBMP;
break;
case 0x1D:/* "image/vnd.wap.GIF", 0x21 ,*/
////cms_trace("download a GIF");
// if(pBrowserInfo)
// {
// pBrowserInfo->FileType = CMS_HTTP_CONTENT_GIF;
// }
FileType = CMS_HTTP_CONTENT_GIF;
break;
case 0x1E:/* "image/vnd.wap.JPEG", 0x21 ,*/
////cms_trace("download a JPEG");
// if(pBrowserInfo)
// {
// pBrowserInfo->FileType = CMS_HTTP_CONTENT_JPEG;
// }
FileType = CMS_HTTP_CONTENT_JPEG;
break;
case 0x20:/* "image/png", 0x21 ,*/
////cms_trace("download a png");
// if(pBrowserInfo)
// {
// pBrowserInfo->FileType = CMS_HTTP_CONTENT_PNG;
// }
FileType = CMS_HTTP_CONTENT_PNG;
break;
case 0x08:/*{ "text/vnd.wap.wml", 0x08 },*/
////cms_trace("download a WML");
// if(pBrowserInfo)
// {
// pBrowserInfo->FileType = CMS_HTTP_CONTENT_ML;
// }
FileType = CMS_HTTP_CONTENT_ML;
break;
case 0x03:/* "text/plain", 0x03 ,*/
u=0x14;
break;
case 0x09:/* "text/vnd.wap.wmlscript", 0x09 */
break;
case 0x15:/* "application/vnd.wap.wmlscriptc", 0x15 ,*/
////cms_trace("download a wmlscript");
// if(NULL != pBrowserInfo)
// {
// pBrowserInfo->FileType = CMS_HTTP_CONTENT_WMLSCRIPT;
// }
FileType = CMS_HTTP_CONTENT_WMLSCRIPT;
break;
//else if(u>=32 && u<=126) /*Content type is text type --Shawn */
case 0x3e:
*content_type = octstr_create_from_data("application/vnd.wap.mms-message",strlen("application/vnd.wap.mms-message"));
*content_data = octstr_create_from_data(pdu->data+data_pos,pdu->len-(off+headerslen-i-2));
// *content_data = octstr_create_from_data(&pdu[off],headerslen - i);
return 1;
case 0x23:
case 0x22:/* jar */
////cms_trace("jar");
break;
case 0xf0:/* down load a mid */
case 0xf1:/* down load a midi */
case 0xf2:/* down load a x-mid */
case 0xf3:/* down load a x-midi */
case 0xf4:/* down load a sp-midi*/
////cms_trace("down load a x-mid");
FileType = CMS_HTTP_CONTENT_MIDI;
break;
case 0x3D:/* text/css */
FileType = CMS_HTTP_CONTENT_CSS;
break;
case 0xFF01:/* audio/amr */
FileType = CMS_HTTP_CONTENT_AMR;
////cms_trace("access unpackage: arm file\n" );
break;
case 0xFF02:/* audio/MP3 */
FileType = CMS_HTTP_CONTENT_MP3;
////cms_trace("access unpackage: arm file\n" );
break;
case 0xFF03:/* image_flash */
FileType = CMS_HTTP_CONTENT_IMAGE_ZDD;
////cms_trace("access unpackage: image/vnd.ziyitong.zdd file\n" );
break;
case 0xFF04:/* image_flash */
FileType = CMS_HTTP_CONTENT_IMAGE_VIS;
////cms_trace("access unpackage: image/vnd.ziyitong.vis file\n" );
break;
case 0xFF05:/* image_flash */
FileType = CMS_HTTP_CONTENT_IMAGE_DRM;
////cms_trace("access unpackage: image/vnd.ziyitong.drm file\n" );
break;
case 0xFF06:/* mmf */
case 0xFF07:/* mmf */
FileType = CMS_HTTP_BROWSER_MUSIC_SMAF;
////cms_trace("access unpackage: mmf file\n" );
break;
case 0xFF08:/* wave */
FileType = CMS_HTTP_CONTENT_X_WAVE;
////cms_trace("access unpackage: wave file\n" );
break;
case 0xFF09:/*image_bill*/
FileType = CMS_HTTP_CONTENT_IMAGE_BILL;
////cms_trace("access unpackge: image bill\n");
break;
case 0xFF0A:
FileType = CMS_HTTP_CONTENT_CHAOTEX;
////cms_trace("access unpackge: chaotex\n");
break;
case 0xFF0B:
FileType = CMS_HTTP_CONTENT_DRM_MESSAGE;
////cms_trace("access unpackge: drm msg");
break;
case 0xFF0C:
//FileType = (Cms_ContentType_e)CMS_GetContentType(text_content_type, NULL);
////cms_trace( "access: get filetype from plat : %d\n", FileType );
break;
default:
//CmsSetContentType( FileType );
////cms_trace("error unpack udp: not know content type!\n");
return 0;
}
//CmsSetContentType( FileType );
////cms_trace("pdutype = %d\n", u);
off = data_pos;
if (u==0x14)
{
//shawn 2004.02.26
result = (P_CMS_U8)malloc(20*1024);
memset(result,0,20*1024);
if(result != NULL)
{
int i1 = (int)pdu->data+off;
int i2 = (int)pdu->len-off;
if(i2 < 10 *1024)
{
//CmsWAPWBXMLToWML((P_CMS_U8)i1, (CMS_U32)i2, result, 20*1024);
}
else
{
unsigned char wrongpage[] = {
0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x3f, 0x3e, 0x3c, 0x21, 0x44,
0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x77, 0x6d, 0x6c, 0x20, 0x50,
0x55, 0x42, 0x4c, 0x49, 0x43, 0x22, 0x2d, 0x2f, 0x2f, 0x57, 0x41, 0x50,
0x46, 0x4f, 0x52, 0x55, 0x4d, 0x2f, 0x2f, 0x44, 0x54, 0x44, 0x20, 0x57,
0x4d, 0x4c, 0x20, 0x31, 0x2e, 0x31, 0x2f, 0x2f, 0x45, 0x4e, 0x22, 0x20,
0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
0x77, 0x61, 0x70, 0x66, 0x6f, 0x72, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67,
0x2f, 0x44, 0x54, 0x44, 0x2f, 0x77, 0x6d, 0x6c, 0x5f, 0x31, 0x2e, 0x31,
0x2e, 0x78, 0x6d, 0x6c, 0x22, 0x3e, 0x3c, 0x77, 0x6d, 0x6c, 0x3e, 0x3c,
0x68, 0x65, 0x61, 0x64, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x63,
0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x6d, 0x61, 0x78, 0x2d,
0x61, 0x67, 0x65, 0x3d, 0x30, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x68, 0x65,
0x61, 0x64, 0x3e, 0x3c, 0x63, 0x61, 0x72, 0x64, 0x20, 0x74, 0x69, 0x74,
0x6c, 0x65, 0x3d, 0x22, 0x57, 0x72, 0x6f, 0x6e, 0x67, 0x20, 0x70, 0x61,
0x67, 0x65, 0x22, 0x3e, 0x3c, 0x70, 0x3e, 0x50, 0x61, 0x67, 0x65, 0x20,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, 0x77, 0x72,
0x6f, 0x6e, 0x67, 0x21, 0x3c, 0x2f, 0x70, 0x3e, 0x3c, 0x2f, 0x63, 0x61,
0x72, 0x64, 0x3e, 0x3c, 0x2f, 0x77, 0x6d, 0x6c, 0x3e, 0x00,
};
Cms_StrCpy((char*)result,(char*)wrongpage);
}
////CmsDebugFunc((unsigned char*)"result = ",(short)strlen((char*)result),(void*)result);
}
*content_data = octstr_create(result);
////CmsDebugFunc((unsigned char*)"*content_data = ",(short)20,(void*)result);
free(result);
result = NULL;
}
else if(u == 0x22)
{
*content_data = OTA_octstr_create_from_data( pdu->data + off,octstr_len(pdu) - off);
}
else
{
*content_data = octstr_create_from_data( pdu->data + off,octstr_len(pdu) - off);
}
return 0;
}
/*=== LHY_050217 ===*/
static void null_scr_appid_cnting(WSPMachine *machine,WSPEvent *event)
{
char u_a[256];
P_CMS_U8 pAppAccept=NULL;
Octstr *cap_head = NULL;
memset(u_a,0,sizeof(u_a));
/* test */
//cms_strcpy(u_a,(char*)brw_UA);
//Cms_Set_Useragent((unsigned char *)u_a);
#if 0
//user-agent 在测试的过程中,为了能够进行正常的页面测试,利用nokia6230进行测试
cms_strcpy((char*)u_a, "Nokia6230/2.0 (03.14) Profile/MIDP-2.0 Configuration/CLDC-1.1");
#else
//user-agent
//Cms_Set_Useragent((unsigned char *)u_a);
#endif
pAppAccept = (P_CMS_U8)malloc(256);
if(NULL != pAppAccept)
{
memset(pAppAccept,0,256);
Cms_StrCpy((char *)pAppAccept, (const char*)"application/vnd.syncml+xml");
}
cap_head = octstr_create_empty();
append_uintvar(cap_head, sizeof(brwcap));
append_uintvar(cap_head,sizeof(brwhead)+strlen(u_a)+strlen((char *)pAppAccept)+4); //0xa9 '\0' 0x80 '\0'
octstr_append_data(cap_head,brwcap,sizeof(brwcap));
if(NULL != pAppAccept)
{
octstr_append_char(cap_head,0x80);
octstr_append_data(cap_head,(unsigned char *)pAppAccept,strlen((char *)pAppAccept));
octstr_append_char(cap_head,'\0');
free(pAppAccept);
pAppAccept = NULL;
}
octstr_append_data(cap_head,brwhead,sizeof(brwhead));
octstr_append_char(cap_head,0xa9);
octstr_append_data(cap_head,(unsigned char *)u_a,strlen(u_a));
octstr_append_char(cap_head,'\0');
null_scr_1_cnting(machine,event,cap_head);
octstr_destroy(cap_head);
return;
}
static void null_scr_type0_cnting(WSPMachine *machine, WSPEvent * event )
{
// char u_a[256];
// char profile[512];
char *u_a = NULL;
char *profile = NULL;
Octstr* mms_head = NULL;
// memset(u_a, 0, sizeof(u_a));
// memset( profile, 0, sizeof(profile) );
u_a = (char*)malloc(256);
profile = (char *)malloc(512);
if (NULL == u_a || NULL == profile)
{
return;
}
memset(u_a,0,256);
memset(profile,0,512);
//Cms_Set_Useragent((unsigned char*)u_a); //UA 和 profile字段
//Cms_Browser_Set_UAProfile((char*)profile);
mms_head = octstr_create_empty();
append_uintvar(mms_head, sizeof(mmscap));
append_uintvar(mms_head, sizeof(mmshead)+strlen(u_a)+2+strlen(profile)+2);
octstr_append_data( mms_head, mmscap, sizeof(mmscap));
octstr_append_data( mms_head, mmshead, sizeof(mmshead) );
octstr_append_char( mms_head, 0xb5 );
octstr_append_data( mms_head, (unsigned char*)profile, strlen(profile));
octstr_append_char( mms_head, '\0' );
octstr_append_char( mms_head, 0xa9 );
octstr_append_data( mms_head, (unsigned char*)u_a, strlen(u_a) );
octstr_append_char( mms_head, '\0' );
null_scr_1_cnting(machine,event,mms_head);
octstr_destroy( mms_head );
free(u_a);
u_a = NULL;
free(profile);
profile = NULL;
return;
}
/*=== end of LHY_050217 ===*/
static void null_scr_type1_cnting(WSPMachine *machine,WSPEvent *event)
{
//char u_a[256];
char* u_a = NULL;
Octstr *cap_head = NULL;
u_a = (char*)malloc(256);
if( NULL == u_a )
{
return;
}
memset(u_a,0,256);
#if 0
//user-agent 在测试的过程中,为了能够进行正常的页面测试,利用nokia6230进行测试
cms_strcpy((char*)u_a, "Nokia6230/2.0 (03.14) Profile/MIDP-2.0 Configuration/CLDC-1.1");
#else
//user-agent
//Cms_Set_Useragent((unsigned char *)u_a);
#endif
cap_head = octstr_create_empty();
append_uintvar(cap_head, sizeof(brwcap));
append_uintvar(cap_head,sizeof(brwhead)+strlen(u_a)+1+1); //0xa9 '\0'
octstr_append_data(cap_head,brwcap,sizeof(brwcap));
octstr_append_data(cap_head,brwhead,sizeof(brwhead));
octstr_append_char(cap_head,0xa9);
octstr_append_data(cap_head,(unsigned char *)u_a,strlen(u_a));
octstr_append_char(cap_head,'\0');
null_scr_1_cnting(machine,event,cap_head);
octstr_destroy(cap_head);
free(u_a);
u_a = NULL;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -