Private
Public Access
1
0
Files
Kordophone/server/kordophone/Bridge/MBIMUpdateQueue.h

40 lines
992 B
C
Raw Normal View History

2018-11-17 01:07:55 -08:00
//
// 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"
2018-11-17 01:07:55 -08:00
NS_ASSUME_NONNULL_BEGIN
@class GCDAsyncSocket;
@class HTTPMessage;
@class WebSocket;
2018-11-17 01:07:55 -08:00
@interface MBIMUpdateItem : NSObject
@property (nonatomic, strong) IMChat *changedChat;
@property (nonatomic, strong) IMMessage *addedMessage;
- (NSDictionary *)dictionaryRepresentation;
2018-11-17 01:07:55 -08:00
@end
typedef void (^MBIMUpdateConsumer)(NSArray<MBIMUpdateItem *> *items);
2018-11-17 01:07:55 -08:00
@interface MBIMUpdateQueue : NSObject
+ (instancetype)sharedInstance;
- (void)addPollingConsumer:(MBIMUpdateConsumer)consumer withLastSyncedMessageSeq:(NSInteger)messageSeq;
- (void)removePollingConsumer:(MBIMUpdateConsumer)consumer;
2018-11-17 01:07:55 -08:00
- (void)enqueueUpdateItem:(MBIMUpdateItem *)item;
- (WebSocket *)vendUpdateWebSocketConsumerForRequest:(HTTPMessage *)request socket:(GCDAsyncSocket *)socket;
2018-11-17 01:07:55 -08:00
@end
NS_ASSUME_NONNULL_END