Private
Public Access
1
0
Files
Kordophone/kordophone/Bridge/MBIMUpdateQueue.h
2023-01-17 16:16:23 -08:00

40 lines
992 B
Objective-C

//
// 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<MBIMUpdateItem *> *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