// // MBIMUpdateQueue.h // kordophoned // // Created by James Magahern on 11/16/18. // Copyright © 2018 James Magahern. All rights reserved. // #import "IMCore_ClassDump.h" #import "IMFoundation_ClassDump.h" NS_ASSUME_NONNULL_BEGIN @class GCDAsyncSocket; @class HTTPMessage; @class WebSocket; @interface MBIMUpdateItem : NSObject @property (nonatomic, strong) IMChat *changedChat; @property (nonatomic, strong) IMMessage *addedMessage; - (NSDictionary *)dictionaryRepresentation; @end typedef void (^MBIMUpdateConsumer)(NSArray *items); @interface MBIMUpdateQueue : NSObject + (instancetype)sharedInstance; - (void)addPollingConsumer:(MBIMUpdateConsumer)consumer withLastSyncedMessageSeq:(NSInteger)messageSeq; - (void)removePollingConsumer:(MBIMUpdateConsumer)consumer; - (void)enqueueUpdateItem:(MBIMUpdateItem *)item; - (WebSocket *)vendUpdateWebSocketConsumerForRequest:(HTTPMessage *)request socket:(GCDAsyncSocket *)socket; @end NS_ASSUME_NONNULL_END