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.
		
		
		
		
		
			
		
			
				
	
	
		
			55 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Objective-C
		
	
			
		
		
	
	
			55 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Objective-C
		
	
| //
 | |
| //  Copyright (c) 2019 Open Whisper Systems. All rights reserved.
 | |
| //
 | |
| 
 | |
| #import <Foundation/Foundation.h>
 | |
| 
 | |
| NS_ASSUME_NONNULL_BEGIN
 | |
| 
 | |
| @class OWSStorage;
 | |
| @class TSAttachment;
 | |
| @class TSThread;
 | |
| @class YapDatabaseAutoViewTransaction;
 | |
| @class YapDatabaseConnection;
 | |
| @class YapDatabaseReadTransaction;
 | |
| @class YapDatabaseViewRowChange;
 | |
| 
 | |
| @interface OWSMediaGalleryFinder : NSObject
 | |
| 
 | |
| - (instancetype)init NS_UNAVAILABLE;
 | |
| 
 | |
| - (instancetype)initWithThread:(TSThread *)thread NS_DESIGNATED_INITIALIZER;
 | |
| 
 | |
| // How many media items a thread has
 | |
| - (NSUInteger)mediaCountWithTransaction:(YapDatabaseReadTransaction *)transaction NS_SWIFT_NAME(mediaCount(transaction:));
 | |
| 
 | |
| // The ordinal position of an attachment within a thread's media gallery
 | |
| - (nullable NSNumber *)mediaIndexForAttachment:(TSAttachment *)attachment
 | |
|                                    transaction:(YapDatabaseReadTransaction *)transaction
 | |
|     NS_SWIFT_NAME(mediaIndex(attachment:transaction:));
 | |
| 
 | |
| - (nullable TSAttachment *)oldestMediaAttachmentWithTransaction:(YapDatabaseReadTransaction *)transaction
 | |
|     NS_SWIFT_NAME(oldestMediaAttachment(transaction:));
 | |
| - (nullable TSAttachment *)mostRecentMediaAttachmentWithTransaction:(YapDatabaseReadTransaction *)transaction
 | |
|     NS_SWIFT_NAME(mostRecentMediaAttachment(transaction:));
 | |
| 
 | |
| - (void)enumerateMediaAttachmentsWithRange:(NSRange)range
 | |
|                                transaction:(YapDatabaseReadTransaction *)transaction
 | |
|                                      block:(void (^)(TSAttachment *))attachmentBlock
 | |
|     NS_SWIFT_NAME(enumerateMediaAttachments(range:transaction:block:));
 | |
| 
 | |
| - (BOOL)hasMediaChangesInNotifications:(NSArray<NSNotification *> *)notifications
 | |
|                           dbConnection:(YapDatabaseConnection *)dbConnection;
 | |
| 
 | |
| #pragma mark - Extension registration
 | |
| 
 | |
| @property (nonatomic, readonly) NSString *mediaGroup;
 | |
| - (YapDatabaseAutoViewTransaction *)galleryExtensionWithTransaction:(YapDatabaseReadTransaction *)transaction
 | |
|     NS_SWIFT_NAME(galleryExtension(transaction:));
 | |
| + (NSString *)databaseExtensionName;
 | |
| + (void)asyncRegisterDatabaseExtensionsWithPrimaryStorage:(OWSStorage *)storage;
 | |
| 
 | |
| @end
 | |
| 
 | |
| NS_ASSUME_NONNULL_END
 |