TIMCallback.h 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. //
  2. // TIMCallback.h
  3. // ImSDK
  4. //
  5. // Created by bodeng on 30/3/15.
  6. // Copyright (c) 2015 tencent. All rights reserved.
  7. //
  8. #ifndef ImSDK_TIMCallback_h
  9. #define ImSDK_TIMCallback_h
  10. #import "TIMComm.h"
  11. @class TIMMessage;
  12. @class TIMGroupTipsElem;
  13. @class TIMGroupInfo;
  14. /**
  15. * 连接通知回调
  16. */
  17. @protocol TIMConnListener <NSObject>
  18. @optional
  19. /**
  20. * 网络连接成功
  21. */
  22. - (void)onConnSucc;
  23. /**
  24. * 网络连接失败
  25. *
  26. * @param code 错误码
  27. * @param err 错误描述
  28. */
  29. - (void)onConnFailed:(int)code err:(NSString*)err;
  30. /**
  31. * 网络连接断开(断线只是通知用户,不需要重新登陆,重连以后会自动上线)
  32. *
  33. * @param code 错误码
  34. * @param err 错误描述
  35. */
  36. - (void)onDisconnect:(int)code err:(NSString*)err;
  37. /**
  38. * 连接中
  39. */
  40. - (void)onConnecting;
  41. @end
  42. /**
  43. * 用户在线状态通知
  44. */
  45. @protocol TIMUserStatusListener <NSObject>
  46. @optional
  47. /**
  48. * 踢下线通知
  49. */
  50. - (void)onForceOffline;
  51. /**
  52. * 断线重连失败
  53. */
  54. - (void)onReConnFailed:(int)code err:(NSString*)err;
  55. /**
  56. * 用户登录的userSig过期(用户需要重新获取userSig后登录)
  57. */
  58. - (void)onUserSigExpired;
  59. @end
  60. /**
  61. * 页面刷新接口(如有需要未读计数刷新,会话列表刷新等)
  62. */
  63. @protocol TIMRefreshListener <NSObject>
  64. @optional
  65. /**
  66. * 刷新会话
  67. */
  68. - (void)onRefresh;
  69. /**
  70. * 刷新部分会话(包括多终端已读上报同步)
  71. *
  72. * @param conversations 会话(TIMConversation*)列表
  73. */
  74. - (void)onRefreshConversations:(NSArray*)conversations;
  75. @end
  76. /**
  77. * 消息回调
  78. */
  79. @protocol TIMMessageListener <NSObject>
  80. @optional
  81. /**
  82. * 新消息回调通知
  83. *
  84. * @param msgs 新消息列表,TIMMessage 类型数组
  85. */
  86. - (void)onNewMessage:(NSArray*)msgs;
  87. @end
  88. @protocol TIMMessageReceiptListener <NSObject>
  89. @optional
  90. /**
  91. * 收到了已读回执
  92. *
  93. * @param receipts 已读回执(TIMMessageReceipt*)列表
  94. */
  95. - (void) onRecvMessageReceipts:(NSArray*)receipts;
  96. @end
  97. /**
  98. * 消息修改回调
  99. */
  100. @protocol TIMMessageUpdateListener <NSObject>
  101. @optional
  102. /**
  103. * 消息修改通知
  104. *
  105. * @param msgs 修改的消息列表,TIMMessage 类型数组
  106. */
  107. - (void)onMessageUpdate:(NSArray*) msgs;
  108. @end
  109. @protocol TIMMessageRevokeListener <NSObject>
  110. @optional
  111. /**
  112. * 消息撤回通知
  113. *
  114. * @param locator 被撤回消息的标识
  115. */
  116. - (void)onRevokeMessage:(TIMMessageLocator*)locator;
  117. @end
  118. /**
  119. * 图片上传进度回调
  120. */
  121. @protocol TIMUploadProgressListener <NSObject>
  122. @optional
  123. /**
  124. * 上传进度回调
  125. *
  126. * @param msg 正在上传的消息
  127. * @param elemidx 正在上传的elem的索引
  128. * @param taskid 任务id
  129. * @param progress 上传进度
  130. */
  131. - (void)onUploadProgressCallback:(TIMMessage*)msg elemidx:(uint32_t)elemidx taskid:(uint32_t)taskid progress:(uint32_t)progress;
  132. @end
  133. /**
  134. * 群事件通知回调
  135. */
  136. @protocol TIMGroupEventListener <NSObject>
  137. @optional
  138. /**
  139. * 群tips回调
  140. *
  141. * @param elem 群tips消息
  142. */
  143. - (void)onGroupTipsEvent:(TIMGroupTipsElem*)elem;
  144. @end
  145. /**
  146. * 好友代理事件回调
  147. */
  148. @protocol TIMFriendshipListener <NSObject>
  149. @optional
  150. /**
  151. * 添加好友通知
  152. *
  153. * @param users 好友列表(TIMUserProfile*)
  154. */
  155. - (void)onAddFriends:(NSArray*)users;
  156. /**
  157. * 删除好友通知
  158. *
  159. * @param identifiers 用户id列表(NSString*)
  160. */
  161. - (void)onDelFriends:(NSArray*)identifiers;
  162. /**
  163. * 好友资料更新通知
  164. *
  165. * @param profiles 资料列表(TIMUserProfile*)
  166. */
  167. - (void)onFriendProfileUpdate:(NSArray*)profiles;
  168. /**
  169. * 好友申请通知
  170. *
  171. * @param reqs 好友申请者id列表(TIMSNSChangeInfo*)
  172. */
  173. - (void)onAddFriendReqs:(NSArray*)reqs;
  174. @end
  175. @protocol TIMGroupListener <NSObject>
  176. @optional
  177. /**
  178. * 有新用户加入群时的通知回调
  179. *
  180. * @param groupId 群ID
  181. * @param membersInfo 加群用户的群资料(TIMGroupMemberInfo*)列表
  182. */
  183. - (void)onMemberJoin:(NSString*)groupId membersInfo:(NSArray*)membersInfo;
  184. /**
  185. * 有群成员退群时的通知回调
  186. *
  187. * @param groupId 群ID
  188. * @param members 退群成员的identifier(NSString*)列表
  189. */
  190. - (void)onMemberQuit:(NSString*)groupId members:(NSArray*)members;
  191. /**
  192. * 群成员信息更新的通知回调
  193. *
  194. * @param groupId 群ID
  195. * @param membersInfo 更新后的群成员资料(TIMGroupMemberInfo*)列表
  196. */
  197. - (void)onMemberUpdate:(NSString*)groupId membersInfo:(NSArray*)membersInfo;
  198. /**
  199. * 加入群的通知回调
  200. *
  201. * @param groupInfo 加入群的群组资料
  202. */
  203. - (void)onGroupAdd:(TIMGroupInfo*)groupInfo;
  204. /**
  205. * 解散群的通知回调
  206. *
  207. * @param groupId 解散群的群ID
  208. */
  209. - (void)onGroupDelete:(NSString*)groupId;
  210. /**
  211. * 群资料更新的通知回调
  212. *
  213. * @param groupInfo 更新后的群资料信息
  214. */
  215. - (void)onGroupUpdate:(TIMGroupInfo*)groupInfo;
  216. @end
  217. #endif