📄 im_def.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 + -