95 lines
1.9 KiB
C
95 lines
1.9 KiB
C
|
|
#ifndef _IMSDK_H__
|
|||
|
|
#define _IMSDK_H__
|
|||
|
|
|
|||
|
|
#include "yvpacket_sdk.h"
|
|||
|
|
|
|||
|
|
#ifdef _MSC_VER
|
|||
|
|
#ifdef _YVIM_EXPORTS
|
|||
|
|
#define YVIM_API extern "C" __declspec(dllexport)
|
|||
|
|
#else
|
|||
|
|
#define YVIM_API /*__declspec(dllimport)*/
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#else
|
|||
|
|
#define YVIM_API //extern "C"
|
|||
|
|
#define _stdcall
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#define YV_RET_SUCC 0 //成功
|
|||
|
|
#define YV_RET_FAIL -1 //失败
|
|||
|
|
|
|||
|
|
|
|||
|
|
enum CmdChannel {
|
|||
|
|
IM_LOGIN = 1,
|
|||
|
|
IM_FRIEND = 2,
|
|||
|
|
IM_GROUPS = 3,
|
|||
|
|
IM_CHAT = 4,
|
|||
|
|
IM_CLOUND = 5,
|
|||
|
|
IM_CHANNEL = 6,
|
|||
|
|
IM_TROOPS = 7,
|
|||
|
|
IM_LBS = 8,
|
|||
|
|
IM_TOOLS = 9,
|
|||
|
|
IM_LIVE = 10,
|
|||
|
|
IM_TROOPSU = 11,
|
|||
|
|
IM_AVRECORD = 12,
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
extern "C" {
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
typedef void (_stdcall *YVCallBack)(enum CmdChannel type, unsigned int cmdid, YV_PARSER parser, unsigned long context);
|
|||
|
|
|
|||
|
|
//初始化
|
|||
|
|
/*
|
|||
|
|
* callback: 回调函数
|
|||
|
|
* context: 回调上下文
|
|||
|
|
* appid: cp appid
|
|||
|
|
* dbpath:缓存目录路径
|
|||
|
|
* test: 是否为测试环境,true为测试环境
|
|||
|
|
* oversea: 是否为海外版本,true海外版本,false国内版本
|
|||
|
|
* 返回 0表示成功,-1表示失败
|
|||
|
|
*/
|
|||
|
|
YVIM_API int YVIM_Init(YVCallBack callback, unsigned long context, unsigned int appid, const char* path, bool test, bool oversea = 0);
|
|||
|
|
|
|||
|
|
//释放
|
|||
|
|
YVIM_API void YVIM_Release();
|
|||
|
|
|
|||
|
|
//发送命令
|
|||
|
|
/*
|
|||
|
|
* type: 发送模块ID, CmdChannel枚举
|
|||
|
|
* cmdid: 协议号
|
|||
|
|
* parser:生成数据包句柄
|
|||
|
|
* 返回 0表示成功,-1表示失败
|
|||
|
|
*/
|
|||
|
|
YVIM_API int YVIM_SendCmd(enum CmdChannel type, unsigned int cmdid, YV_PARSER parser);
|
|||
|
|
|
|||
|
|
//设置回调方式
|
|||
|
|
/*
|
|||
|
|
*默认主线程回调
|
|||
|
|
*main: true 主线程回调, false 子线程回调
|
|||
|
|
*/
|
|||
|
|
YVIM_API void YVIM_SetCallBackMode(bool mode);
|
|||
|
|
|
|||
|
|
|
|||
|
|
//添加回调
|
|||
|
|
YVIM_API void YVIM_SetCallBack(YVCallBack callback, unsigned long context);
|
|||
|
|
|
|||
|
|
//设置显示窗口
|
|||
|
|
YVIM_API int YVIM_SetShowSurface(int width, int height, void* h);
|
|||
|
|
|
|||
|
|
//设置屏幕分辨率
|
|||
|
|
YVIM_API void YVIM_SetScreenDpi(int width, int height);
|
|||
|
|
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#endif
|