OpenWrt_Luci_Lua/1_8.sip_push/nebula_sdk/nebula_sdk.h
2015-06-13 23:06:56 +08:00

57 lines
1.6 KiB
C

#ifndef NEBULA_SDK_H
#define NEBULA_SDK_H
typedef enum {
eNebulaMsg_Push, /// 推送 (路由器只需关心这一类消息)
eNebulaMsg_Presence, /// Presence
eNebulaMsg_Sms, /// 网络短信
eNebulaMsg_Mms, /// 网络彩信
eNebulaMsg_Max,
} NebulaMsgType;
#ifdef __cplusplus
extern "C" {
#endif
/** 初始化网络连接
* @device_tag: 硬件信息 (手机端为IMEI)
* @verify_pwd: 鉴权密码 (手机端为SN)
* @host: 服务端域名, 例如: https://p.meizu.com (结尾不要带"/", 前面要加上https)
* @file: 用于读取/存储持久化数据的文件名, 要求目录存在, 且有创建文件权限。
* @return: 如果文件打开成功, 返回0; 否则返回-1, 文件打开失败原因记录在错误码errno中.
* @只能调用一次, 重复调用无效并返回-1.
*/
int NebulaInit(const char* device_tag, const char* host, const char* file);
/** 设置订阅列表
*
*
*/
void NebulaSubScribe(int count, const char** app_name);
/** 消息处理回调函数
* @app: App名
* @msg: 消息内容
*/
typedef void (*NebulaMsgCallback)(const char* app, const char* msg);
/** 注册消息处理回调函数
* @type: 消息类型
* @cb: 回调函数
* @return: 旧的回调函数
* @一次只能注册一个回调函数, 重复注册会覆盖.
*/
NebulaMsgCallback NebulaRegister(NebulaMsgType type, NebulaMsgCallback cb);
/** 启动
*
*/
int NebulaStart();
#ifdef __cplusplus
}
#endif
#endif //NEBULA_SDK_H