mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
		
		
			
		
	
	
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
| 
								 
											5 years ago
										 
									 | 
							
								//
							 | 
						||
| 
								 | 
							
								//  Copyright (c) 2018 Open Whisper Systems. All rights reserved.
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#import <Foundation/Foundation.h>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								NS_ASSUME_NONNULL_BEGIN
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@class OWSPrimaryStorage;
							 | 
						||
| 
								 | 
							
								@class OWSStorage;
							 | 
						||
| 
								 | 
							
								@class TSMessage;
							 | 
						||
| 
								 | 
							
								@class TSThread;
							 | 
						||
| 
								 | 
							
								@class YapDatabaseReadTransaction;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@interface OWSDisappearingMessagesFinder : NSObject
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								- (void)enumerateExpiredMessagesWithBlock:(void (^_Nonnull)(TSMessage *message))block
							 | 
						||
| 
								 | 
							
								                              transaction:(YapDatabaseReadTransaction *)transaction;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								- (void)enumerateUnstartedExpiringMessagesInThread:(TSThread *)thread
							 | 
						||
| 
								 | 
							
								                                             block:(void (^_Nonnull)(TSMessage *message))block
							 | 
						||
| 
								 | 
							
								                                       transaction:(YapDatabaseReadTransaction *)transaction;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								- (void)enumerateMessagesWhichFailedToStartExpiringWithBlock:(void (^_Nonnull)(TSMessage *message))block
							 | 
						||
| 
								 | 
							
								                                                 transaction:(YapDatabaseReadTransaction *)transaction;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @return
							 | 
						||
| 
								 | 
							
								 *   uint64_t millisecond timestamp wrapped in a number. Retrieve with `unsignedLongLongvalue`.
							 | 
						||
| 
								 | 
							
								 *   or nil if there are no upcoming expired messages
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								- (nullable NSNumber *)nextExpirationTimestampWithTransaction:(YapDatabaseReadTransaction *_Nonnull)transaction;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								+ (NSString *)databaseExtensionName;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								+ (void)asyncRegisterDatabaseExtensions:(OWSStorage *)storage;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef DEBUG
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Only use the sync version for testing, generally we'll want to register extensions async
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								+ (void)blockingRegisterDatabaseExtensions:(OWSStorage *)storage;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								NS_ASSUME_NONNULL_END
							 |