美文网首页xmpp
(六)XMPPModule作为扩展模块的主要基类

(六)XMPPModule作为扩展模块的主要基类

作者: AlexLi_ | 来源:发表于2016-06-02 10:11 被阅读127次

    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
    
    

    相关文章

      网友评论

        本文标题:(六)XMPPModule作为扩展模块的主要基类

        本文链接:https://www.haomeiwen.com/subject/glfkdttx.html