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.
		
		
		
		
		
			
		
			
	
	
		
			58 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
| 
											5 years ago
										 | //
 | ||
|  | //  Copyright (c) 2018 Open Whisper Systems. All rights reserved.
 | ||
|  | //
 | ||
|  | 
 | ||
| 
											5 years ago
										 | #import <SessionUtilitiesKit/TSYapDatabaseObject.h>
 | ||
| 
											5 years ago
										 | 
 | ||
|  | NS_ASSUME_NONNULL_BEGIN | ||
|  | 
 | ||
|  | extern NSErrorDomain const SSKJobRecordErrorDomain; | ||
|  | 
 | ||
|  | typedef NS_ERROR_ENUM(SSKJobRecordErrorDomain, JobRecordError){ | ||
|  |     JobRecordError_AssertionError = 100, | ||
|  |     JobRecordError_IllegalStateTransition, | ||
|  | }; | ||
|  | 
 | ||
|  | typedef NS_ENUM(NSUInteger, SSKJobRecordStatus) { | ||
|  |     SSKJobRecordStatus_Unknown, | ||
|  |     SSKJobRecordStatus_Ready, | ||
|  |     SSKJobRecordStatus_Running, | ||
|  |     SSKJobRecordStatus_PermanentlyFailed, | ||
|  |     SSKJobRecordStatus_Obsolete | ||
|  | }; | ||
|  | 
 | ||
|  | #pragma mark -
 | ||
|  | 
 | ||
|  | @interface SSKJobRecord : TSYapDatabaseObject | ||
|  | 
 | ||
|  | @property (nonatomic) NSUInteger failureCount; | ||
|  | @property (nonatomic) NSString *label; | ||
|  | 
 | ||
|  | - (instancetype)initWithLabel:(NSString *)label NS_DESIGNATED_INITIALIZER; | ||
|  | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER; | ||
|  | 
 | ||
|  | - (instancetype)initWithUniqueId:(NSString *_Nullable)uniqueId NS_UNAVAILABLE; | ||
|  | - (instancetype)init NS_UNAVAILABLE; | ||
|  | 
 | ||
|  | @property (readonly, nonatomic) SSKJobRecordStatus status; | ||
|  | @property (nonatomic, readonly) UInt64 sortId; | ||
|  | 
 | ||
|  | - (BOOL)saveAsStartedWithTransaction:(YapDatabaseReadWriteTransaction *)transaction | ||
|  |                                error:(NSError **)outError NS_SWIFT_NAME(saveAsStarted(transaction:)); | ||
|  | 
 | ||
|  | - (void)saveAsPermanentlyFailedWithTransaction:(YapDatabaseReadWriteTransaction *)transaction | ||
|  |     NS_SWIFT_NAME(saveAsPermanentlyFailed(transaction:)); | ||
|  | 
 | ||
|  | - (void)saveAsObsoleteWithTransaction:(YapDatabaseReadWriteTransaction *)transaction | ||
|  |     NS_SWIFT_NAME(saveAsObsolete(transaction:)); | ||
|  | 
 | ||
|  | - (BOOL)saveRunningAsReadyWithTransaction:(YapDatabaseReadWriteTransaction *)transaction | ||
|  |                                     error:(NSError **)outError NS_SWIFT_NAME(saveRunningAsReady(transaction:)); | ||
|  | 
 | ||
|  | - (BOOL)addFailureWithWithTransaction:(YapDatabaseReadWriteTransaction *)transaction | ||
|  |                                 error:(NSError **)outError NS_SWIFT_NAME(addFailure(transaction:)); | ||
|  | 
 | ||
|  | @end | ||
|  | 
 | ||
|  | NS_ASSUME_NONNULL_END |