This commit is contained in:
giuseppenuc committed 2016-02-24 16:56:39 +01:00
1 parent d281d765ea
commit 5b074a5176
1261 files changed
+199158 -7303

No files matched your search

+43
View File
@@ -0,0 +1,43 @@
#import <Foundation/Foundation.h>
#import "GCDMulticastDelegate.h"
@class XMPPStream;
/**
* XMPPModule is the base class that all extensions/modules inherit.
* They automatically get:
*
* - A dispatch queue.
* - A multicast delegate that automatically invokes added delegates.
*
* The module also automatically registers/unregisters itself with the
* xmpp stream during the activate/deactive methods.
**/
@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