Link Kit C-SDK  4.0.0
aiot_rtc_api.h
浏览该文件的文档.
1 #ifndef __AIOT_RTC_API_H__
2 #define __AIOT_RTC_API_H__
3 
4 #if defined(__cplusplus)
5 extern "C" {
6 #endif
7 
8 typedef enum {
11 
12 typedef struct {
17  aiot_rtc_event_type_t type;
21  union {
25  } data;
27 
28 
32 typedef enum {
62 
63 
72 typedef enum {
86 
87 
91 typedef struct {
95  aiot_rtc_recv_type_t type;
99  union {
103  struct {
107  uint32_t msg_id;
111  uint32_t code;
115  char *channelid;
119  uint32_t channelid_len;
120 
124  char *nonce;
125  uint32_t nonce_len;
129  char *timestamp;
130  uint32_t timestamp_len;
134  char *token;
135  uint32_t token_len;
140  char *gslb;
141  uint32_t gslb_len;
145  char *app_id;
146  uint32_t appid_len;
150  char *user_id;
151  uint32_t userid_len;
157  } invitation;
158 
162  struct {
166  char *action;
167  uint32_t action_len;
172  char *caller_iotid;
173  uint32_t caller_iotid_len;
177  char *channel_id;
178  uint32_t channel_id_len;
183  char *product_key;
184  uint32_t product_key_len;
189  char *device_name;
190  uint32_t device_name_len;
191  } guest_reply;
192  } data;
194 
195 
200 typedef enum {
211 
220 
229 
235 
239 typedef enum {
265 
266 
270 typedef struct {
271  char *product_key;
272  char *device_name;
274 
278 typedef struct {
279  aiot_rtc_guest_reply_t action;
281  char *channel_id;
283 
287 typedef struct {
288  char *product_key;
289  char *device_name;
290  char *channel_id;
292 
296 typedef struct {
297  char *product_key;
298  char *device_name;
299  char *channel_id;
301 
305 typedef struct {
306  char *channel_id;
308 
312 typedef struct {
313  char *channel_id;
315 
319 typedef struct {
320  aiot_rtc_msg_type_t type;
321  union {
328  } data;
330 
334 #define STATE_RTC_BASE (-0x1D00)
335 
339 #define STATE_RTC_MQTT_HANDLE_IS_NULL (-0x1D01)
340 
344 #define STATE_RTC_MSG_PARAMS_IS_NULL (-0x1D02)
345 
349 #define STATE_RTC_LOG_RECV (-0x1D03)
350 
354 #define SATAE_RTC_LOG_PARSE_RECV_MSG_FAILED (-0x1D04)
355 
366 typedef void (*aiot_rtc_recv_handler_t)(void *handle, const aiot_rtc_recv_t *recv, void *userdata);
367 
375 void *aiot_rtc_init(void);
376 
377 
387 int32_t aiot_rtc_deinit(void **handle);
388 
403 int32_t aiot_rtc_setopt(void *handle, aiot_rtc_option_t option, void *data);
404 
418 int32_t aiot_rtc_launch_channel(void *handle, aiot_rtc_msg_t *msg);
419 
433 int32_t aiot_rtc_guest_resonse(void *handle, aiot_rtc_msg_t *msg);
434 
438 int32_t aiot_rtc_invite_guest(void *handle, char *channel_id, char *pk, char *dn);
439 
453 int32_t aiot_rtc_cancel_channel(void *handle, char *channel_id);
454 
468 int32_t aiot_rtc_guest_leave_channel(void *handle, char *channel_id);
469 
485 int32_t aiot_rtc_remove_guest(void *handle, char *channel_id, char *pk, char *dn);
486 
487 
488 #if defined(__cplusplus)
489 }
490 #endif
491 
492 #endif /* #ifndef __AIOT_RTC_API_H__ */
aiot_rtc_msg_remove_guest_t remove_guest
Definition: aiot_rtc_api.h:327
char * device_name
Definition: aiot_rtc_api.h:272
结束会议
Definition: aiot_rtc_api.h:263
int32_t aiot_rtc_invite_guest(void *handle, char *channel_id, char *pk, char *dn)
邀请更多用户入会. 本期暂不支持.
Definition: aiot_rtc_api.c:819
对方正忙
Definition: aiot_rtc_api.h:259
uint32_t product_key_len
Definition: aiot_rtc_api.h:184
某个用户要离开会议的请求
Definition: aiot_rtc_api.h:312
uint32_t caller_iotid_len
Definition: aiot_rtc_api.h:156
Definition: aiot_rtc_api.h:9
void(* aiot_rtc_recv_handler_t)(void *handle, const aiot_rtc_recv_t *recv, void *userdata)
rtc模块消息接收回调函数的函数原型定义, 当模块接收到服务器下行数据后将调用此回调函数, 并将消息数据通过recv参数输入给用户, 同时将用户上下文数据指针通过userdata参数返回给用户
Definition: aiot_rtc_api.h:366
char * user_id
被叫方的iotId
Definition: aiot_rtc_api.h:150
一对一的会议邀请发起后, 邀请更多的用户加入会议. 本期暂不支持
Definition: aiot_rtc_api.h:44
被叫方回复
Definition: aiot_rtc_api.h:278
离开会议
Definition: aiot_rtc_api.h:251
传递用户数据
Definition: aiot_rtc_api.h:228
Definition: aiot_rtc_api.h:12
char * channel_id
会话的频道信息
Definition: aiot_rtc_api.h:177
aiot_rtc_msg_cancel_channel_t cancel_channel
Definition: aiot_rtc_api.h:325
int32_t aiot_rtc_launch_channel(void *handle, aiot_rtc_msg_t *msg)
主叫方发起会议, 邀请被叫方入会
Definition: aiot_rtc_api.c:300
aiot_rtc_msg_guest_leave_channel_t guest_leave_channel
Definition: aiot_rtc_api.h:326
主叫方发起的会议邀请
Definition: aiot_rtc_api.h:270
接受对方呼叫
Definition: aiot_rtc_api.h:243
发起更多的邀请
Definition: aiot_rtc_api.h:287
int32_t aiot_rtc_guest_leave_channel(void *handle, char *channel_id)
被叫方主动离开会议
Definition: aiot_rtc_api.c:883
将某个用户踢出会议的请求
Definition: aiot_rtc_api.h:296
uint32_t code
请求响应码
Definition: aiot_rtc_api.h:111
被叫方收到云端下行的会话邀请
Definition: aiot_rtc_api.h:76
收到呼叫
Definition: aiot_rtc_api.h:255
char * product_key
被叫方的product key
Definition: aiot_rtc_api.h:183
int32_t aiot_rtc_setopt(void *handle, aiot_rtc_option_t option, void *data)
设置rtc参数
Definition: aiot_rtc_api.c:785
char * nonce
随机码
Definition: aiot_rtc_api.h:124
结束整个会议的请求
Definition: aiot_rtc_api.h:305
char * channel_id
Definition: aiot_rtc_api.h:290
int32_t aiot_rtc_remove_guest(void *handle, char *channel_id, char *pk, char *dn)
主叫方将某个被叫方移出会议
Definition: aiot_rtc_api.c:916
char * device_name
Definition: aiot_rtc_api.h:298
int32_t aiot_rtc_cancel_channel(void *handle, char *channel_id)
取消会议, 所有参会者退出
Definition: aiot_rtc_api.c:853
aiot_rtc_msg_type_t type
Definition: aiot_rtc_api.h:320
uint32_t nonce_len
Definition: aiot_rtc_api.h:125
uint32_t channel_id_len
Definition: aiot_rtc_api.h:178
uint32_t channelid_len
会话的频道信息的字符串长度
Definition: aiot_rtc_api.h:119
char * gslb
全局slb接入点
Definition: aiot_rtc_api.h:140
char * caller_iotid
会议发起者的iotid
Definition: aiot_rtc_api.h:155
aiot_rtc_event_type_t
Definition: aiot_rtc_api.h:8
aiot_rtc_option_t
rtc模块的配置选项枚举类型定义. aiot_rtc_setopt 函数入数data的数据类型根据不同的选项而不同 ...
Definition: aiot_rtc_api.h:200
uint32_t msg_id
消息id
Definition: aiot_rtc_api.h:107
char * product_key
Definition: aiot_rtc_api.h:271
char * channelid
会话的频道信息
Definition: aiot_rtc_api.h:115
char * channel_id
Definition: aiot_rtc_api.h:313
char * device_name
Definition: aiot_rtc_api.h:289
char * caller_iotid
Definition: aiot_rtc_api.h:280
aiot_rtc_recv_type_t
rtc模块接受消息类型枚举
Definition: aiot_rtc_api.h:72
char * channel_id
Definition: aiot_rtc_api.h:299
数据接收回调函数, rtc接收物联网平台的下行消息后调用此回调函数
Definition: aiot_rtc_api.h:219
char * channel_id
Definition: aiot_rtc_api.h:281
uint32_t appid_len
Definition: aiot_rtc_api.h:146
aiot_rtc_recv_type_t type
报文内容所对应的报文类型, 更多信息请参考aiot_rtc_recv_type_t
Definition: aiot_rtc_api.h:95
uint32_t gslb_len
Definition: aiot_rtc_api.h:141
aiot_rtc_guest_reply_t
被叫方回复的类型
Definition: aiot_rtc_api.h:239
被叫方离开会议.
Definition: aiot_rtc_api.h:52
char * device_name
被叫方的device name
Definition: aiot_rtc_api.h:189
char * action
被叫者对会话邀请的回复action, 接受或者拒绝
Definition: aiot_rtc_api.h:166
int32_t aiot_rtc_guest_resonse(void *handle, aiot_rtc_msg_t *msg)
被叫方发送响应
Definition: aiot_rtc_api.c:329
uint32_t userid_len
Definition: aiot_rtc_api.h:151
主叫方收到的被叫方的回复,包括接受/拒绝等
Definition: aiot_rtc_api.h:84
aiot_rtc_msg_invite_more_guest_t invite_guest_request
Definition: aiot_rtc_api.h:324
uint32_t token_len
Definition: aiot_rtc_api.h:135
上行消息的结构体
Definition: aiot_rtc_api.h:319
int32_t aiot_rtc_deinit(void **handle)
销毁rtc实例, 释放资源
Definition: aiot_rtc_api.c:948
拒绝对方呼叫
Definition: aiot_rtc_api.h:247
aiot_rtc_msg_type_t
上行消息的数据结构
Definition: aiot_rtc_api.h:32
发起会议邀请. 数据结构参考aiot_rtc_msg_channel_request_t
Definition: aiot_rtc_api.h:36
配置选项数量最大值, 不可用作配置参数
Definition: aiot_rtc_api.h:233
uint32_t action_len
Definition: aiot_rtc_api.h:167
char * token
加入会议的身份校验信息
Definition: aiot_rtc_api.h:134
rtc模块收到从网络上来的报文时, 通知用户的报文内容
Definition: aiot_rtc_api.h:91
char * product_key
Definition: aiot_rtc_api.h:297
aiot_rtc_guest_reply_t action
Definition: aiot_rtc_api.h:279
消息数量最大值, 不可用作消息类型
Definition: aiot_rtc_api.h:60
char * channel_id
Definition: aiot_rtc_api.h:306
char * app_id
计费的主体
Definition: aiot_rtc_api.h:145
char * product_key
Definition: aiot_rtc_api.h:288
主叫方将被叫方移除会议.
Definition: aiot_rtc_api.h:56
结束会议,所有参与者离线
Definition: aiot_rtc_api.h:48
aiot_rtc_msg_channel_request_t channel_request
Definition: aiot_rtc_api.h:322
uint32_t timestamp_len
Definition: aiot_rtc_api.h:130
aiot_rtc_msg_guest_reply_t guest_reply
Definition: aiot_rtc_api.h:323
void * aiot_rtc_init(void)
初始化rtc实例
Definition: aiot_rtc_api.c:7
aiot_rtc_event_type_t type
MQTT内部事件类型. 更多信息请参考aiot_rtc_event_type_t.
Definition: aiot_rtc_api.h:17
用户收到邀请后, 对此作出回复. 数据结构参考aiot_rtc_msg_guest_reply_t
Definition: aiot_rtc_api.h:40
char * timestamp
时间戳
Definition: aiot_rtc_api.h:129
主叫方发起会话后获得云端批准
Definition: aiot_rtc_api.h:80
uint32_t device_name_len
Definition: aiot_rtc_api.h:190
模块依赖的MQTT句柄
Definition: aiot_rtc_api.h:210