GBC_all_in.h 9.38 KB
#ifndef _GBC_ALL_IN_H_
#define _GBC_ALL_IN_H_


#include "soc_consts.h"
#include "gdi_primitive.h"
#include "am.h"


#define GBC_fs_open  FS_Open
#define GBC_fs_close FS_Close
#define GBC_fs_read  FS_Read
#define GBC_fs_write FS_Write
#define GBC_fs_seek  FS_Seek
#define GBC_fs_create_dir FS_CreateDir
#define GBC_fs_rename FS_Rename
#define GBC_fs_delete(a) FS_Delete((const WCHAR*)a)
#define GBC_fs_xdelete FS_XDelete
#define GBC_fs_truncate FS_Truncate
#define GBC_fs_get_file_size FS_GetFileSize
#define GBC_fs_move  FS_Move
#define GBC_fs_set_attributes FS_SetAttributes


#define GBC_FS_OPEN_DIR FS_OPEN_DIR
#define GBC_FS_READ_ONLY FS_READ_ONLY
#define GBC_FS_ATTR_DIR FS_ATTR_DIR
#define GBC_FS_ATTR_HIDDEN FS_ATTR_HIDDEN
#define GBC_FS_CREATE FS_CREATE

#define GBC_FS_READ_WRITE FS_READ_WRITE
#define GBC_FS_FILE_END FS_FILE_END
#define GBC_FS_FILE_BEGIN  FS_FILE_BEGIN
#define GBC_FS_CREATE_ALWAYS FS_CREATE_ALWAYS
#define GBC_FS_OPEN_SHARED FS_OPEN_SHARED
#define GBC_FS_COMMITTED   FS_COMMITTED
#define GBC_FS_DI_BASIC_INFO FS_DI_BASIC_INFO
#define GBC_FS_DI_FREE_SPACE FS_DI_FREE_SPACE
#define GBC_FS_NO_ERROR  FS_NO_ERROR

#define GBC_SOC_NBIO	SOC_NBIO
#define GBC_SOC_ASYNC	SOC_ASYNC
#define GBC_SOC_LINGER	SOC_LINGER


#define GENERAL_FILENAME_MAX_LENGTH 64*2	/*重复定义 Tital*/

#define GBC_DIR_NUM 3

//added by lees1018:新增全路径,优化空间
#define GBC_SYSTEM_FOLD_DIR g_GBC_acSystemFold
#define GBC_APP_FOLD_DIR g_GBC_appSystemFold   //added by liujia 


//时间
typedef struct
{
    kal_uint16 nYear;
    kal_uint8  nMonth;
    kal_uint8  nDay;
    kal_uint8  nHour;
    kal_uint8  nMin;
    kal_uint8  nSec;
    kal_uint8  DayIndex; /* 0=Sunday */
}GBC_ST_TIME;


typedef enum
{
	GBC_SOC_ERROR = SOC_ERROR,
	GBC_SOC_PIPE = SOC_PIPE,
	GBC_SOC_WOULDBLOCK = SOC_WOULDBLOCK,
	GBC_SOC_SUCCESS = SOC_SUCCESS,
	GBC_SOC_CLOSE = SOC_CLOSE,
	GBC_SOC_READ = SOC_READ,
	GBC_SOC_WRITE = SOC_WRITE,
	GBC_SOC_CONNECT = SOC_CONNECT,
	GBC_SOC_CONNRESET =  SOC_CONNRESET,
}GBC_SOC_TYPE;

//通话时间
typedef struct
{
	int call_in_time1;
    int call_out_time1;
    int call_in_time2;
    int call_out_time2;
}GBC_CALL_TIME;

typedef enum
{
	//编码类型
	GBC_GBK_ENCODING =1,
	GBC_UTF8_ENCODING,
	GBC_UCS2_ENCODING,
	//含转义符的UTF8编码
	GBC_SPECIAL_UTF8_ENCODING,
} GBC_ENCOND_TYPE;

/************************* V6.0新增接口 BEGIN ********************************/
typedef struct
{
	char telephone[16]; // 注册时的电话号码
	char imsi[20]; // 注册时的imsi号
} Gbc_Family_User_Info;

typedef struct
{
	U16 lac;
	U16 cell_id;
} Gbc_Family_Lac_Info;

typedef struct
{
	char user_info[24]; // 存储用户uid
} GBC_NETP_USER_INFO;

typedef struct
{
	char user_number[16];
} GBC_NETP_USER_NUMBER;

typedef struct
{
	char user_imsi[20];
} GBC_NETP_USER_IMSI;

enum
{
      NETP_NONE = 0,
      NETP_WAIT_CALL = 1, // 显示拨号成功,等待回拨
};
/************************* V6.0新增接口 END ********************************/

// modify by hypeagle 20130822
extern int global_channel;


//-----------------------------------------------------------------
//-----------------------------------------------------------------


extern kal_bool  gb_create_log_file;

//added by lees:定义版本号与平台信息
extern const S8 * GBC_PLATFORM_INFO;

//文件目录
//extern S8 *g_GBC_ppacFoldsPath[GBC_DIR_NUM];
extern const S8 g_GBC_ppacFoldsPath[GBC_DIR_NUM][24];
//extern S8* g_GBC_pacSystemDirPhoto;
extern const U16 g_GBC_pacSystemDirPhoto[12];


extern S8 g_GBC_acFilePath[12][64];
extern S8 g_GBC_acSystemFold[40];
extern S8 g_GBC_appSystemFold[40];



//定时器ID
extern const U16 GBC_NET_WORK_GOBLE_TIMER_ID;
extern const U16 GBC_TASK_TIMER_ID;
extern const U16 GBC_INIT_RES_TIMER_ID;
extern const U16 GBC_UPDATE_INFO_ID ;
extern const U16 GBC_DAEMON_TIMER_ID;
extern const U16 GBC_TIMER_BG	;
extern const U16 GBC_ONLINE_PIC_DOWN_SOME_CB;
extern const U16 GBC_CLOSE_G_TIMER_ID   ;
extern const U16 GBC_IVR_TIMER_ID;
extern const U16 GBC_IVR_CHECK_ID;
extern const U16 GBC_SG_TIMER_ID;
extern const U16 GBC_FEEAPP_CHECK_ID;

extern const U16 GBC_UPDATE_D_TIMER_ID;    //add

extern U16  GBC_KEY_UP_ARROW;
extern U16  GBC_KEY_DOWN_ARROW;
extern U16  GBC_KEY_LEFT_ARROW;
extern U16  GBC_KEY_RIGHT_ARROW;
extern U16  GBC_KEY_ENTER;
extern U16  GBC_KEY_VOL_UP;
extern U16  GBC_KEY_VOL_DOWN;
extern U16  GBC_KEY_RSK;
extern U16  GBC_KEY_LSK;
extern U16  GBC_KEY_END;
extern U16	GBC_KEY_BACK;
extern U16  GBC_KEY_EVENT_DOWN;
extern U16  GBC_KEY_EVENT_UP;



extern char nGBC_serial_num[]; 
extern char nGBC_client_num[];
extern char nGBC_custom_num[];

//蓝牙地址
extern char GBC_bt_addr[];

//屏幕尺寸
extern const S16 GBK_ui_device_width;
extern const S16 GBC_ui_device_height;
extern S16 GBC_mmi_title_height;

extern S16 GBC_GB2312_ENCODING_TYPE;


#include "GBC_base_net_work.h"

//-----------------------------------------------------------------
//-----------------------------------------------------------------
#define GBC_stristr(String, Pattern) strstr((const char *)String, (const char *)Pattern)

extern void* GBC_osl_malloc(  int size );
extern void GBC_osl_mfree( void* buff );

extern S8* GBC_str_chr(S8 *pacStr, S32 iAsciiVal);
extern void GBC_write_file(char *pszfilename, void *pLogContent, U32 uiSize, char nCreateMethod);
extern void GBC_get_bt_addr(void) ;
extern void GBC_pl_net_hide_g_icon(void);

extern void GBC_convert_gbk_to_unicode(S8* pGBK, U16 *pUnicode, U16 dest_size);
extern void GBC_convert_utf8_to_unicode(char *pUtf8, U16 *pUnicode, U16 dest_size);
//extern void GBC_display_pop_unicode(U8 *pacMsg);
extern void GBC_convert_unicode_to_utf8(U16 *pUnicode, PU8 pUtf, U16 len);
extern void GBC_convert_unicode_to_ansii(const kal_uint8 *pUnicode, U8 *pAnsii, U16 len);
extern U16 GBC_mmi_asc_to_ucs2(S8 *pOutBuffer, S8 *pInBuffer);
extern S32 GBC_get_file_size(S8* pacFilePath);
extern void GBC_delete_file(char *fileName);
extern U16 GBC_call_time_max(void);
extern void GBC_get_call_time(GBC_CALL_TIME *ct);
extern void GBC_wml_url_string_encode(char* url_buf, S32 nBufSize);
extern kal_bool GBC_check_file_is_exist(char *file_name);
extern void GBC_close_network_link(void);
extern U32 GBC_read_file(char *fileName, char* tmp_buf,  U32 nBufSize);
extern void GBC_handle_wml_symbol(PS8 pWmlBuf);
extern S32 GBC_find_max_time(GBC_ST_TIME *pstDate1, GBC_ST_TIME *pstDate2);
//保存客户端上行成功的通道号和指令--fee_post.dat文件中
extern void GBC_decode_content(char *src,char *dst);
extern U8 GBC_get_t_card_drive(void);


#include "soc_api.h"

extern void GBC_soc_set_network_event_handle(PsFuncPtr funcPtr);
extern void GBC_soc_clear_network_event_handle(PsFuncPtr funcPtr);
extern void GBC_soc_dns_set_network_event_handle(PsFuncPtr funcPtr);
extern void GBC_soc_dns_clear_network_event_handle(PsFuncPtr funcPtr);
extern void GBC_soc_set_network_event_handle(PsFuncPtr funcPtr);
extern int GBC_soc_connect(kal_int8 channel_id, sockaddr_struct *socaddr );
extern kal_int32 GBC_soc_recv(kal_int8 s, void *buf, kal_int32 len, kal_uint8 flags);
extern kal_int32 GBC_soc_send(kal_int8 s, void *buf, kal_int32 len, kal_uint8 flags);
extern kal_int8 GBC_soc_set_sock_opt(kal_int8 s, kal_uint32 option, void *val, kal_uint8 val_size);
extern int GBC_soc_close(int socket_id);
extern kal_int8 GBC_soc_create(U16 connect_type);

extern void gbc_gui_show_input_box( int inputbox_type , WCHAR *title_str , WCHAR *input_buff , int input_buff_len , FuncPtr onEdited );
extern void GBC_get_md5_digest(const char *message , unsigned char* digest,UINT size );

extern void GBC_net_work_dns_init(void);
extern void gbc_gui_show_text_box( WCHAR* text , WCHAR *title , FuncPtr onOk , FuncPtr onCancel );
extern void gbc_gui_show_text_box_ex( WCHAR* text , WCHAR *title , WCHAR *lsk_title , WCHAR *rsk_title ,  FuncPtr onOk , FuncPtr onCancel );
extern void gbc_entry_dmenu( char *extra );
typedef int32 (*t_gbc_dns_cb)(int32 result);
extern int32 gbc_get_host_by_name( const char *name , t_gbc_dns_cb cb );


extern void gbci_status_icon_bar_icon_blink();
extern void gbci_status_icon_bar_icon_hide();
extern void gbci_status_icon_bar_icon_display();
extern void gbci_status_icon_bar_change_icon_image( int icon_id );

extern void gbci_play_audio_file( WCHAR *filename );
extern void gbci_vibrator_switch( U16 flag , int interval );
extern void gbc_aud_mma_close_all(void);

extern int gbc_get_EM_NOTIFYDURATION_TIMER(void);
extern void aud_stop_unfinished_process(void);
extern void aud_keytone_stop(void);
extern void aud_tone_stop(void);
extern GDI_RESULT gbc_gdi_image_draw(int x, int y, void *pBuf);
extern void GBC_convert_ASCII2UCS2(U8* src, WCHAR* dest);
extern void app_tetris_entry (void);//Tetris 入口
extern char GBC_get_phone_card_drive(void);
extern U8 GBC_EntryNewScreenApp( U16 newscrnID,FuncPtr newExitHandler,FuncPtr newEntryHandler,void * flag );

/**************************** 浏览器 BEGIN ********************************************/
extern GDI_RESULT GBC_gdi_anim_draw_mem_resized( int offset_x , int offset_y , int resized_w , int resized_h , unsigned char *image_ptr , int image_type , int image_size , gdi_handle* handler );
void gbc_gui_show_list_box_noscn( U16 *title , U16 **leftbutt_titles , U16 **rightbutt_titles , int entry_count , U8** items , U8** descriptions ,  int highlight_id );
S32 GBC_gui_get_string_width_n( U16* text, S32 n );
S32 GBC_gui_get_character_height( void );
void gbc_gui_show_input_box_noscn( int inputbox_type , WCHAR *title_str , WCHAR *input_buff , int input_buff_len );
void gbc_SetCategory5RightSoftkeyFunction( void (*f) (void), S32 k );
void gbc_RegisterInputMethodScreenCloseFunction( void (*f) (void) );
//--------------------------------------
#endif