XMPPModule是提供给所有extensions/modules下的类继承于此基类
这XMPPModule作为扩展模块的主要基类,提供了通用的API
@interface XMPPModule : NSObject {
XMPPStream *xmppStream;
dispatch_queue_t moduleQueue;
void *moduleQueueTag;
id multicastDelegate;
}
// 调度队列
@property (readonly) dispatch_queue_t moduleQueue;
@property (readonly) void *moduleQueueTag;
@property (strong, readonly) XMPPStream *xmppStream;
- (id)init;
- (id)initWithDispatchQueue:(dispatch_queue_t)queue;
// 激活模块的功能
- (BOOL)activate:(XMPPStream *)aXmppStream;
// 取消模块的功能
- (void)deactivate;
// 设置代理,并指定模块队列,支持多代理
- (void)addDelegate:(id)delegate delegateQueue:(dispatch_queue_t)delegateQueue;
// 从队列移除代理
- (void)removeDelegate:(id)delegate delegateQueue:(dispatch_queue_t)delegateQueue;
// 移除代理
- (void)removeDelegate:(id)delegate;
- (NSString *)moduleName;
@end
网友评论