NIMSignalingRequest.h 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  1. //
  2. // NIMSignalingRequest.h
  3. // NIMLib
  4. //
  5. // Created by taojinliang on 2018/10/25.
  6. // Copyright © 2018 Netease. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "NIMSignalManagerProtocol.h"
  10. @class NIMSignalingPushInfo;
  11. NS_ASSUME_NONNULL_BEGIN
  12. #pragma mark - 创建频道请求
  13. /**
  14. * 创建频道请求
  15. */
  16. @interface NIMSignalingCreateChannelRequest : NSObject
  17. /**
  18. 频道名,非必填
  19. */
  20. @property(nullable, nonatomic, copy) NSString *channelName;
  21. /**
  22. 频道类型,必填
  23. */
  24. @property(nonatomic, assign) NIMSignalingChannelType channelType;
  25. /**
  26. 额外字段,非必填(频道的自定义扩展信息)
  27. */
  28. @property(nullable, nonatomic, copy) NSString *channelExt;
  29. @end
  30. #pragma mark - 延迟频道有效期(同时延迟操作者和频道)
  31. /**
  32. * 延迟频道有效期(同时延迟操作者和频道)
  33. */
  34. @interface NIMSignalingDelayChannelRequest : NSObject
  35. /**
  36. 频道id,必填
  37. */
  38. @property(nonatomic, copy) NSString *channelId;
  39. @end
  40. #pragma mark - 关闭频道请求
  41. /**
  42. * 关闭频道请求
  43. */
  44. @interface NIMSignalingCloseChannelRequest : NSObject
  45. /**
  46. 频道id,必填
  47. */
  48. @property(nonatomic, copy) NSString *channelId;
  49. /**
  50. 是否存离线,YES表示存离线,NO表示不存离线,非必填,默认为NO
  51. */
  52. @property(nonatomic, assign) BOOL offlineEnabled;
  53. /**
  54. 通知事件额外字段,非必填 (操作者附加的自定义信息,透传给其他人)
  55. */
  56. @property(nullable, nonatomic, copy) NSString *customInfo;
  57. @end
  58. #pragma mark - 加入频道请求
  59. /**
  60. * 加入频道请求
  61. */
  62. @interface NIMSignalingJoinChannelRequest : NSObject
  63. /**
  64. 频道id,必填
  65. */
  66. @property(nonatomic, copy) NSString *channelId;
  67. /**
  68. 通知事件额外字段,非必填(操作者附加的自定义信息,透传给其他人)
  69. */
  70. @property(nullable, nonatomic, copy) NSString *customInfo;
  71. /**
  72. 用户id,非必填 (自己在频道中对应的uid,大于零有效,无效时服务器会分配随机唯一的uid)
  73. */
  74. @property(nonatomic, assign) uint64_t uid;
  75. /**
  76. 是否存离线,YES表示存离线,NO表示不存离线,非必填,默认为NO
  77. */
  78. @property(nonatomic, assign) BOOL offlineEnabled;
  79. @end
  80. #pragma mark - 离开频道请求
  81. /**
  82. * 离开频道请求
  83. */
  84. @interface NIMSignalingLeaveChannelRequest : NSObject
  85. /**
  86. 频道id,必填
  87. */
  88. @property(nonatomic, copy) NSString *channelId;
  89. /**
  90. 是否存离线,YES表示存离线,NO表示不存离线,非必填,默认为NO
  91. */
  92. @property(nonatomic, assign) BOOL offlineEnabled;
  93. /**
  94. 通知事件额外字段,非必填 (操作者附加的自定义信息,透传给其他人)
  95. */
  96. @property(nullable, nonatomic, copy) NSString *customInfo;
  97. @end
  98. #pragma mark - 邀请加入频道请求
  99. /**
  100. * 邀请加入频道请求
  101. */
  102. @interface NIMSignalingInviteRequest : NSObject
  103. /**
  104. 频道id,必填
  105. */
  106. @property(nonatomic, copy) NSString *channelId;
  107. /**
  108. 对方,被邀请人,必填
  109. */
  110. @property(nonatomic, copy) NSString *accountId;
  111. /**
  112. 是否存离线,YES表示存离线,NO表示不存离线,非必填,默认为NO
  113. */
  114. @property(nonatomic, assign) BOOL offlineEnabled;
  115. /**
  116. 邀请唯一标识(用于标识持续呼叫),必填(邀请者邀请的请求id,需要邀请者填写,之后取消邀请、拒绝、接受需要复用该标示,长度必须小于128,超出会报参数错误)
  117. */
  118. @property(nonatomic, copy) NSString *requestId;
  119. /**
  120. 通知事件额外字段,非必填(邀请者附加的自定义信息,透传给被邀请者)
  121. */
  122. @property(nullable, nonatomic, copy) NSString *customInfo;
  123. /**
  124. 推送信息
  125. */
  126. @property(nonatomic, strong) NIMSignalingPushInfo *push;
  127. @end
  128. #pragma mark - 取消邀请请求
  129. /**
  130. * 取消邀请请求
  131. */
  132. @interface NIMSignalingCancelInviteRequest : NSObject
  133. /**
  134. 频道id,必填
  135. */
  136. @property(nonatomic, copy) NSString *channelId;
  137. /**
  138. 对方,被邀请人,必填
  139. */
  140. @property(nonatomic, copy) NSString *accountId;
  141. /**
  142. 邀请唯一标识(用于标识持续呼叫),必填,长度必须小于128,超出会报参数错误
  143. */
  144. @property(nonatomic, copy) NSString *requestId;
  145. /**
  146. 是否存离线,YES表示存离线,NO表示不存离线,非必填,默认为NO
  147. */
  148. @property(nonatomic, assign) BOOL offlineEnabled;
  149. /**
  150. 通知事件额外字段,非必填
  151. */
  152. @property(nullable, nonatomic, copy) NSString *customInfo;
  153. @end
  154. #pragma mark - 拒绝邀请请求
  155. /**
  156. * 拒绝邀请请求
  157. */
  158. @interface NIMSignalingRejectRequest : NSObject
  159. /**
  160. 频道id,必填
  161. */
  162. @property(nonatomic, copy) NSString *channelId;
  163. /**
  164. 对方,被邀请人,必填
  165. */
  166. @property(nonatomic, copy) NSString *accountId;
  167. /**
  168. 邀请唯一标识(用于标识持续呼叫),必填,长度必须小于128,超出会报参数错误
  169. */
  170. @property(nonatomic, copy) NSString *requestId;
  171. /**
  172. 是否存离线,YES表示存离线,NO表示不存离线,非必填,默认为NO
  173. */
  174. @property(nonatomic, assign) BOOL offlineEnabled;
  175. /**
  176. 通知事件额外字段,非必填
  177. */
  178. @property(nullable, nonatomic, copy) NSString *customInfo;
  179. @end
  180. #pragma mark - 接受邀请请求
  181. /**
  182. * 接受邀请请求
  183. */
  184. @interface NIMSignalingAcceptRequest : NSObject
  185. /**
  186. 频道id,必填 (对应的频道id)
  187. */
  188. @property(nonatomic, copy) NSString *channelId;
  189. /**
  190. 对方,被邀请人,必填 (邀请者的账号)
  191. */
  192. @property(nonatomic, copy) NSString *accountId;
  193. /**
  194. 邀请唯一标识(用于标识持续呼叫),必填(邀请者邀请的请求id,用于被邀请者回传request_id_作对应的回应操作),长度必须小于128,超出会报参数错误
  195. */
  196. @property(nonatomic, copy) NSString *requestId;
  197. /**
  198. 是否存离线,YES表示存离线,NO表示不存离线,非必填,默认为NO
  199. */
  200. @property(nonatomic, assign) BOOL offlineEnabled;
  201. /**
  202. 通知事件额外字段,非必填(被邀请者附加的自定义信息,透传给邀请者)
  203. */
  204. @property(nullable, nonatomic, copy) NSString *acceptCustomInfo;
  205. /**
  206. 是否加入,默认不打开,打开后后续参数uid_、join_custom_info_有效
  207. */
  208. @property(nonatomic, assign) BOOL autoJoin;
  209. /**
  210. 自己在频道中对应的uid,大于零有效,无效时服务器会分配随机唯一的uid
  211. */
  212. @property(nonatomic, assign) uint64_t uid;
  213. /**
  214. 加入频道的自定义扩展信息,将在加入频道通知中带给其他频道成员
  215. */
  216. @property(nullable, nonatomic, copy) NSString *joinCustomInfo;
  217. @end
  218. #pragma mark - 自定义控制指令请求
  219. /**
  220. * 自定义控制指令请求
  221. */
  222. @interface NIMSignalingControlRequest : NSObject
  223. /**
  224. 频道id,必填
  225. */
  226. @property(nonatomic, copy) NSString *channelId;
  227. /**
  228. 若指定则只发给指定人,否则发给频道内所有人,非必填
  229. */
  230. @property(nullable, nonatomic, copy) NSString *accountId;
  231. /**
  232. 通知事件额外字段,非必填
  233. */
  234. @property(nullable, nonatomic, copy) NSString *customInfo;
  235. @end
  236. #pragma mark - 呼叫请求(组合:创建、加入、邀请)
  237. /**
  238. * 呼叫请求(组合:创建、加入、邀请)
  239. */
  240. @interface NIMSignalingCallRequest : NIMSignalingCreateChannelRequest
  241. /**
  242. 自己在频道中对应的uid
  243. */
  244. @property(nonatomic, assign) uint64_t uid;
  245. /**
  246. 对方accid,被邀请者的账号
  247. */
  248. @property(nonatomic, copy) NSString *accountId;
  249. /**
  250. 邀请唯一标识(用于标识持续呼叫),必填,长度必须小于128,超出会报参数错误
  251. */
  252. @property(nonatomic, copy) NSString *requestId;
  253. /**
  254. 是否存离线,YES表示存离线,NO表示不存离线,非必填,默认为NO
  255. */
  256. @property(nonatomic, assign) BOOL offlineEnabled;
  257. /**
  258. 通知事件额外字段,非必填
  259. */
  260. @property(nullable, nonatomic, copy) NSString *customInfo;
  261. /**
  262. 通知事件额外字段,非必填
  263. */
  264. @property(nullable, nonatomic, strong) NIMSignalingPushInfo *push;
  265. @end
  266. #pragma mark - 查询请求
  267. /**
  268. * 查询请求
  269. */
  270. @interface NIMSignalingQueryChannelRequest : NSObject
  271. /**
  272. 频道名称,选填(对应的频道名称)(channelId两者必须要填一个,优先使用channelName查询)
  273. */
  274. @property(nonatomic, copy) NSString *channelName;
  275. /**
  276. 频道id,选填 (对应的频道id)(channelName两者必须要填一个,必须进入房间后,才能使用channelId查询)
  277. */
  278. @property(nonatomic, copy) NSString *channelId;
  279. @end
  280. NS_ASSUME_NONNULL_END