2020-11-11 00:58:56 +01:00
|
|
|
//
|
|
|
|
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
|
|
|
|
//
|
|
|
|
|
2020-11-25 06:15:16 +01:00
|
|
|
#import <SessionMessagingKit/OWSStorage.h>
|
2020-11-11 00:58:56 +01:00
|
|
|
#import <YapDatabase/YapDatabaseViewTransaction.h>
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
|
|
|
|
extern NSString *const TSInboxGroup;
|
|
|
|
extern NSString *const TSArchiveGroup;
|
|
|
|
extern NSString *const TSUnreadIncomingMessagesGroup;
|
|
|
|
extern NSString *const TSSecondaryDevicesGroup;
|
|
|
|
|
|
|
|
extern NSString *const TSThreadDatabaseViewExtensionName;
|
|
|
|
|
|
|
|
extern NSString *const TSMessageDatabaseViewExtensionName;
|
|
|
|
extern NSString *const TSMessageDatabaseViewExtensionName_Legacy;
|
|
|
|
|
|
|
|
extern NSString *const TSUnreadDatabaseViewExtensionName;
|
|
|
|
extern NSString *const TSUnseenDatabaseViewExtensionName;
|
|
|
|
extern NSString *const TSThreadOutgoingMessageDatabaseViewExtensionName;
|
|
|
|
extern NSString *const TSThreadSpecialMessagesDatabaseViewExtensionName;
|
|
|
|
|
|
|
|
extern NSString *const TSSecondaryDevicesDatabaseViewExtensionName;
|
|
|
|
|
|
|
|
extern NSString *const TSLazyRestoreAttachmentsGroup;
|
|
|
|
extern NSString *const TSLazyRestoreAttachmentsDatabaseViewExtensionName;
|
|
|
|
|
|
|
|
@interface TSDatabaseView : NSObject
|
|
|
|
|
|
|
|
- (instancetype)init NS_UNAVAILABLE;
|
|
|
|
|
|
|
|
#pragma mark - Views
|
|
|
|
|
|
|
|
// Returns the "unseen" database view if it is ready;
|
|
|
|
// otherwise it returns the "unread" database view.
|
|
|
|
+ (id)unseenDatabaseViewExtension:(YapDatabaseReadTransaction *)transaction;
|
|
|
|
|
|
|
|
+ (id)threadOutgoingMessageDatabaseView:(YapDatabaseReadTransaction *)transaction;
|
|
|
|
|
|
|
|
+ (id)threadSpecialMessagesDatabaseView:(YapDatabaseReadTransaction *)transaction;
|
|
|
|
|
|
|
|
#pragma mark - Registration
|
|
|
|
|
|
|
|
+ (void)registerCrossProcessNotifier:(OWSStorage *)storage;
|
|
|
|
|
|
|
|
// This method must be called _AFTER_ asyncRegisterThreadInteractionsDatabaseView.
|
|
|
|
+ (void)asyncRegisterThreadDatabaseView:(OWSStorage *)storage;
|
|
|
|
|
|
|
|
+ (void)asyncRegisterThreadInteractionsDatabaseView:(OWSStorage *)storage;
|
|
|
|
+ (void)asyncRegisterLegacyThreadInteractionsDatabaseView:(OWSStorage *)storage;
|
|
|
|
|
|
|
|
+ (void)asyncRegisterThreadOutgoingMessagesDatabaseView:(OWSStorage *)storage;
|
|
|
|
|
|
|
|
// Instances of OWSReadTracking for wasRead is NO and shouldAffectUnreadCounts is YES.
|
|
|
|
//
|
|
|
|
// Should be used for "unread message counts".
|
|
|
|
+ (void)asyncRegisterUnreadDatabaseView:(OWSStorage *)storage;
|
|
|
|
|
|
|
|
// Should be used for "unread indicator".
|
|
|
|
//
|
|
|
|
// Instances of OWSReadTracking for wasRead is NO.
|
|
|
|
+ (void)asyncRegisterUnseenDatabaseView:(OWSStorage *)storage;
|
|
|
|
|
|
|
|
+ (void)asyncRegisterLazyRestoreAttachmentsDatabaseView:(OWSStorage *)storage;
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_END
|