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

📄 im_def.h

📁 MTK平台QQ移植
💻 H
字号:
#ifndef _IM_DEF_H
#define _IM_DEF_H 

#include "XHC_def.h"


#include "IM_res_def.h"

#define 	FRIEND_LIST_INIT_SIZE		    (256)
#define 	FRIEND_LIST_INCR_SIZE		    (64)

#define 	TEAM_LIST_INIT_SIZE		        (8)
#define 	TEAM_LIST_INCR_SIZE		        (4)

#define 	IM_ARRAY_INIT_SIZE		        (32)
#define 	IM_ARRAY_INCR_SIZE		        (8)

#define 	TEAM_FRIEND_LIST_INIT_SIZE		(64)
#define 	TEAM_FRIEND_LIST_INCR_SIZE		(16)

#define     IM_MAX_USER_STATE_NUM           (10)
#define     IM_APP_MAX_USER_NUM             (7)

#define     IM_MAX_NAME_LENGTH              (64)
#define     IM_MAX_PASSWORD_LENGTH          (64)

#define     IM_MAX_PROVINCE_COUNT           (34)

#define     IM_TIMER_DELAY                  (100)

#define     IM_INVALID_ENUM_VALUE           (0xFF)

typedef enum
{
    IM_APP_PROCESS_STATE_NULL,              //无状态
    IM_APP_PROCESS_STATE_EXIT,              //退出
    IM_APP_PROCESS_STATE_LOGIN_INPUT,       //输入登陆信息
    IM_APP_PROCESS_STATE_CREATE_USER,       //创建用户列表
    IM_APP_PROCESS_STATE_LOAD_LOCAL,        //加载本地数据
    IM_APP_PROCESS_STATE_LOGIN,             //正式登陆
    IM_APP_PROCESS_STATE_READY,             //已准备好
} im_app_process_state_enum;

typedef enum
{
    IM_APP_UI_STATE_NULL,                   //无
    IM_APP_UI_STATE_EXIT,                   //退出
    IM_APP_UI_STATE_BACKGROUND_IDLE,        //后台运行在idle
    IM_APP_UI_STATE_BACKGROUND_HISTORY,     //后台运行在history
    IM_APP_UI_STATE_ACTIVE,                 //运行在前台
} im_app_ui_state_enum;

/*
typedef enum
{
    0,             //无
    IM_APP_UI_SCR_EXIT,             //退出
    SCR_ID_IM_LOGO,             //LOGO画面
    SCR_ID_IM_LOGIN_USER_LIST,  //登陆显示用户列表
    SCR_ID_IM_LOGIN_EDIT_USER,  //编辑单个用户登陆信息
    SCR_ID_IM_MAIN,             //主窗口(显示好友列表)
    SCR_ID_IM_CHAT_HISTORY,     //聊天主窗口
    SCR_ID_IM_CHAT_EDIT,        //聊天编辑回复窗口
    IM_APP_UI_SCR_OTHER,            //依活动用户类型不同显示的其它窗口
} im_app_ui_scr_enum;
*/

typedef enum
{
    IM_USER_STATE_NULL,          //空状态
    IM_USER_STATE_EXIT,          //退出状态
    IM_USER_STATE_OFFLINE,       //离线状态
    IM_USER_STATE_LOGIN,         //登陆中
    IM_USER_STATE_ONLINE,        //在线状态
} im_user_common_state_enum;

typedef enum
{
    IM_STATUSBAR_TYPE_SYSTEM_MSG,        //系统消息(如调试信息)
    IM_STATUSBAR_TYPE_SYSTEM_STATE,      //系统状态(如当前登陆状态)
    IM_STATUSBAR_TYPE_BUDDY_MSG,         //好友消息
    IM_STATUSBAR_TYPE_BUDDY_STATE,       //好友状态切换
    IM_STATUSBAR_TYPE_SERVICE_MSG,       //服务器消息
    IM_STATUSBAR_TYPE_ADV,               //广告
    IM_STATUSBAR_TYPE_HELP,              //帮助
    IM_STATUSBAR_TYPE_TIME,              //时间
    IM_STATUSBAR_MAX_TYPE                //类型数量
} im_statusbar_type_enum;


typedef enum
{
    IM_APP_QQ = 0,
    IM_APP_MAX_NUM,
} im_app_enum;

typedef enum
{
    IM_USER_TYPE_QQ = 0,
    IM_USER_TYPE_MAX_NUM,
} im_user_type_enum;


typedef enum
{
    IM_OBJECT_TYPE_APP,
    IM_OBJECT_TYPE_USER,
    IM_OBJECT_TYPE_TEAM,
    IM_OBJECT_TYPE_FRIEND,
    IM_OBJECT_TYPE_SYSTEM_MSG,
    IM_OBJECT_TYPE_CHAT_HISTORY,
    IM_OBJECT_TYPE_CHAT_MSG,
    IM_OBJECT_TYPE_MAX,
} im_object_type_enum;

typedef enum
{
    IM_MSG_TYPE_NONE = 0,
    IM_MSG_TYPE_FRIEND_MSG,
    IM_MSG_TYPE_SYSTEM_MSG,
} im_msg_type_enum;


#define IM_FRIENDS_CHANGE_NAME          (0x01)
#define IM_FRIENDS_CHANGE_INFO          (0x02)
#define IM_FRIENDS_CHANGE_FACE          (0x04)
#define IM_FRIENDS_CHANGE_STATE         (0x08)
#define IM_FRIENDS_CHANGE_MSG           (0x10)
#define IM_FRIENDS_CHANGE_TEAM_INDEX    (0x20)
#define IM_FRIENDS_CHANGE_BUDDY_TYPE    (0x40)
#define IM_FRIENDS_CHANGE_ALL           (0xFF)

#define IM_TEAM_CHANGE_NAME             (0x01)
#define IM_TEAM_CHANGE_FRIEND_NUM       (0x02)
#define IM_TEAM_CHANGE_ALL              (0xFF)

#define IM_CHAT_HISTORY_CHANGE_MSG      (0x01)

#define IM_OBJ_FLAG_NULL                (0x00)
#define IM_OBJ_FLAG_UI_HIGHLIGHT        (0x01)
#define IM_OBJ_FLAG_UI_ANIM_HIDE        (0x02)

#define IM_OBJ_FLAG_UI_ANIMATION        (0x10)

#define IM_TMP_BUFF_SIZE                (2048)
/*
#define IM_APP_COMMON_NAME_LEN 10
*/
#define IM_UI_ITEM_TEAM_OFFSET          (5)
#define IM_UI_FRIEND_TEAM_OFFSET        (10)

#define IM_LOGIN_FMT     "IMLOG %d %d %b %b %d %d %d\r\n"//is_enable, user_type, name, pass_word, is_save_login_data, def_login_state, is_login_success

#define IM_OPTION_FMT     "IMOPT %d %d %d %d\r\n"
    //is_only_show_online;
    //is_enable_audio;
    //is_enable_vibrator;    
    //curr_theme
#define IM_ASSERT(expr, fail_desc) if(!(expr)) { IM_assert_fail(#expr, __FILE__, __LINE__, fail_desc); }

#define IM_FAIL(fail_desc) IM_trace_fail(__FILE__, __LINE__, (fail_desc)); 

#define IM_app_alloc(mem_size) XHC_app_alloc_int((mem_size),IM_app_alloc_fail,  __FILE__, __LINE__)

#define IM_LOCAL_PARA(USER)\
    im_user_common_struct*                  im_user = (im_user_common_struct*)(USER);\
    im_app_struct*                          im_app = (im_app_struct*)im_user->parent;\
    im_user_type_struct*                    user_type = im_user->user_type; \
    im_user_common_process_struct*          im_process = im_user->process;\
    im_user_common_ui_struct*               im_ui = im_user->ui;\
    im_user_common_option_struct*           im_option = im_user->option;\
    im_user_common_net_struct*              im_net = im_user->net;\
    im_user_common_info_struct*             im_info = im_user->info;\
    im_user_common_friends_struct*          im_friends = im_user->friends;\
    im_user_common_data_struct*             im_data = im_user->data;\
    S32                                     rtn = XHC_FAIL;



#endif

⌨️ 快捷键说明

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