JMSGEventDelegate.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. /*
  2. * | | | | \ \ / / | | | | / _______|
  3. * | |____| | \ \/ / | |____| | / /
  4. * | |____| | \ / | |____| | | | _____
  5. * | | | | / \ | | | | | | |____ |
  6. * | | | | / /\ \ | | | | \ \______| |
  7. * | | | | /_/ \_\ | | | | \_________|
  8. *
  9. * Copyright (c) 2011 ~ 2015 Shenzhen HXHG. All rights reserved.
  10. */
  11. #import <Foundation/Foundation.h>
  12. #import <JMessage/JMSGNotificationEvent.h>
  13. #import <JMessage/JMSGFriendNotificationEvent.h>
  14. /*!
  15. * 监听通知事件
  16. */
  17. @protocol JMSGEventDelegate <NSObject>
  18. /*!
  19. * @abstract 监听好友相关事件
  20. *
  21. * @param event 好友事件
  22. *
  23. * @discussion 可监听:加好友、删除好友、好友更新等事件
  24. *
  25. * @since 3.5.0
  26. */
  27. @optional
  28. - (void)onReceiveFriendNotificationEvent:(JMSGFriendNotificationEvent *)event;
  29. /*!
  30. * @abstract 监听消息撤回事件
  31. *
  32. * @param retractEvent 下发的通知事件,事件类型请查看 JMSGMessageRetractEvent 类
  33. *
  34. * @since 3.2.0
  35. */
  36. @optional
  37. - (void)onReceiveMessageRetractEvent:(JMSGMessageRetractEvent *)retractEvent;
  38. /*!
  39. * @abstract 监听消息回执状态变更事件
  40. *
  41. * @param receiptEvent 下发的通知事件,事件类型请查看 JMSGMessageReceiptStatusChangeEvent 类
  42. *
  43. * @discussion 上层可以通过 receiptEvent 获取相应信息
  44. *
  45. * @since 3.3.0
  46. */
  47. @optional
  48. - (void)onReceiveMessageReceiptStatusChangeEvent:(JMSGMessageReceiptStatusChangeEvent *)receiptEvent;
  49. /*!
  50. * @abstract 监听消息透传事件
  51. *
  52. * @param transparentEvent 下发的通知事件,事件类型请查看 JMSGMessageTransparentEvent 类
  53. *
  54. * @discussion 消息透传的类型:单聊、群聊、设备间透传消息
  55. *
  56. * @since 3.3.0
  57. */
  58. @optional
  59. - (void)onReceiveMessageTransparentEvent:(JMSGMessageTransparentEvent *)transparentEvent;
  60. /*!
  61. * @abstract 聊天室管理员变更通知
  62. *
  63. * @param events 管理员事件列表
  64. *
  65. * @discussion 事件具体相关属性请查看 JMSGChatRoomAdminChangeEvent 类
  66. *
  67. * @since 3.8.0
  68. */
  69. - (void)onReceiveChatRoomAdminChangeEvents:(NSArray<__kindof JMSGChatRoomAdminChangeEvent*>*)events;
  70. /*!
  71. * @abstract 聊天室黑名单变更通知
  72. *
  73. * @param events 黑名单事件列表
  74. *
  75. * @discussion 事件具体相关属性请查看 JMSGChatRoomBlacklisChangetEvent 类
  76. *
  77. * @since 3.8.0
  78. */
  79. - (void)onReceiveChatRoomBlacklistChangeEvents:(NSArray<__kindof JMSGChatRoomBlacklisChangetEvent*>*)events;
  80. /*!
  81. * @abstract 聊天室禁言通知
  82. *
  83. * @param events 禁言事件列表
  84. *
  85. * @discussion 事件具体相关属性请查看 JMSGChatRoomSilenceEvent 类
  86. *
  87. * @since 3.8.1
  88. */
  89. - (void)onReceiveChatRoomSilenceEvents:(NSArray<__kindof JMSGChatRoomSilenceEvent*>*)events;
  90. ///----------------------------------------------------
  91. /// @name 以下是已经过期方法,请使用提示的新方法
  92. ///----------------------------------------------------
  93. /*!
  94. * @abstract 监听通知事件
  95. *
  96. * @param event 下发的通知事件,上层通过 event.eventType 判断具体事件
  97. *
  98. * @discussion 此方法可监听如下事件:
  99. *
  100. * - 好友事件:加好友、删除好友、好友更新;
  101. * - 当前用户登录状态变更事件:当前登录用户被踢、非客户端修改密码强制登出、登录状态异常、被删除、信息变更通;
  102. *
  103. * #### 方法变更:
  104. *
  105. * 之前版本的好友事件、当前登录用户状态变更事件都是通过此方法监听,SDK 从 3.5.0 开始将此方法细分为两个方法.
  106. *
  107. * ```
  108. * // 当前用户登录状态变更事件,在 JMSGUserDelegate 类
  109. * - (void)onReceiveUserLoginStatusChangeEvent:(JMSGUserLoginStatusChangeEvent *)event;
  110. * // 好友相关事件
  111. * - (void)onReceiveFriendNotificationEvent:(JMSGFriendNotificationEvent *)event;
  112. * ```
  113. *
  114. * #### 注意:此方法已过期,请使用如上所述的两个方法
  115. */
  116. @optional
  117. - (void)onReceiveNotificationEvent:(JMSGNotificationEvent *)event __attribute__((deprecated("在 JMessage 3.5.0 过期了")));
  118. @end