NIMSDK-iOS
载入中...
搜索中...
未找到
NIMEventSubscribeManagerProtocol.h
浏览该文件的文档.
1//
2// NIMEventSubscribeManagerProtocol.h
3// NIMLib
4//
5// Created by Netease.
6// Copyright (c) 2017 Netease. All rights reserved.
7//
8
9#import <Foundation/Foundation.h>
10
13
14NS_ASSUME_NONNULL_BEGIN
15
16/**
17 * 事件普通回调
18 *
19 * @param error 错误信息,如果成功,error 为 nil
20 * @param event 事件,填充了发布的时间
21 */
22typedef void(^NIMEventSubscribeBlock)(NSError * __nullable error, NIMSubscribeEvent * __nullable event);
23
24/**
25 * 订阅/取消订阅事件回调
26 *
27 * @param error 错误信息,如果成功,error 为 nil,
28 * @param failedPublishers 失败的发布者 Id, 为 nil 则全部订阅/取消订阅成功
29 */
30typedef void(^NIMEventSubscribeResponseBlock)(NSError * __nullable error, NSArray * __nullable failedPublishers);
31
32
33/**
34 * 事件查询回调
35 *
36 * @param error 错误信息,如果成功,error 为 nil,
37 * @param results NIMSubscribeResult 数组 本账号订阅的事件详情,包括订阅了谁,订阅的时间以及有效期等等
38 */
39typedef void(^NIMEventSubscribeQueryBlock)(NSError * __nullable error, NSArray * __nullable results);
40
41
42/**
43 * 订阅回调
44 */
45@protocol NIMEventSubscribeManagerDelegate <NSObject>
46
47@optional
48
49/**
50 * 收到所订阅的事件的回调
51 * @param events 广播的事件 NIMSubscribeEvent 列表
52 */
53- (void)onRecvSubscribeEvents:(NSArray *)events;
54
55
56@end
57
58/**
59 * 事件订阅协议
60 */
61@protocol NIMEventSubscribeManager <NSObject>
62
63/**
64 * 发布事件
65 *
66 * @param event 需要广播的事件,事件可被其他人订阅
67 * @param completion 完成回调
68 */
69- (void)publishEvent:(NIMSubscribeEvent *)event
70 completion:(nullable NIMEventSubscribeBlock)completion;
71
72
73/**
74 * 订阅事件
75 *
76 * @param request 订阅请求
77 * @param completion 完成回调
78 * @discussion 请求中必需填写 type,expiry,publishers 字段
79 */
80- (void)subscribeEvent:(NIMSubscribeRequest *)request
81 completion:(nullable NIMEventSubscribeResponseBlock)completion;
82
83
84/**
85 * 取消订阅事件
86 *
87 * @param request 取消订阅请求
88 * @param completion 完成回调
89 * @discussion 请求中必须填写 type 字段 , 如果不填写 publishers 字段,则取消指定事件的全部订阅关系
90 */
91- (void)unSubscribeEvent:(NIMSubscribeRequest *)request
92 completion:(nullable NIMEventSubscribeResponseBlock)completion;
93
94
95/**
96 * 查询订阅事件
97 *
98 * @param request 查询请求
99 * @param completion 完成回调
100 * @discussion 请求中必须填写 type 字段 和 publishers 字段
101 */
102- (void)querySubscribeEvent:(NIMSubscribeRequest *)request
103 completion:(nullable NIMEventSubscribeQueryBlock)completion;
104
105
106/**
107 * 添加通知对象
108 *
109 * @param delegate 通知对象
110 */
111- (void)addDelegate:(id<NIMEventSubscribeManagerDelegate>)delegate;
112
113/**
114 * 移除通知对象
115 *
116 * @param delegate 通知对象
117 */
118- (void)removeDelegate:(id<NIMEventSubscribeManagerDelegate>)delegate;
119
120
121@end
122
123NS_ASSUME_NONNULL_END
void(^ NIMEventSubscribeQueryBlock)(NSError *__nullable error, NSArray *__nullable results)
Definition: NIMEventSubscribeManagerProtocol.h:39
void(^ NIMEventSubscribeResponseBlock)(NSError *__nullable error, NSArray *__nullable failedPublishers)
Definition: NIMEventSubscribeManagerProtocol.h:30
NS_ASSUME_NONNULL_BEGIN typedef void(^ NIMEventSubscribeBlock)(NSError *__nullable error, NIMSubscribeEvent *__nullable event)
Definition: NIMSubscribeEvent.h:48
Definition: NIMSubscribeRequest.h:17