2018-01-04 21:16:24 +01:00
|
|
|
//
|
|
|
|
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
|
2018-03-05 17:57:12 +01:00
|
|
|
extern NSString *const NSNotificationNameBackupStateDidChange;
|
2018-01-05 20:42:50 +01:00
|
|
|
|
2018-03-08 14:59:34 +01:00
|
|
|
typedef void (^OWSBackupBoolBlock)(BOOL success);
|
|
|
|
typedef void (^OWSBackupErrorBlock)(NSError *error);
|
|
|
|
|
2018-01-05 20:42:50 +01:00
|
|
|
typedef NS_ENUM(NSUInteger, OWSBackupState) {
|
2018-03-06 21:00:28 +01:00
|
|
|
// Has never backed up, not trying to backup yet.
|
|
|
|
OWSBackupState_Idle = 0,
|
|
|
|
// Backing up.
|
2018-01-05 20:42:50 +01:00
|
|
|
OWSBackupState_InProgress,
|
2018-03-06 21:00:28 +01:00
|
|
|
// Last backup failed.
|
2018-01-08 17:01:09 +01:00
|
|
|
OWSBackupState_Failed,
|
2018-03-06 21:00:28 +01:00
|
|
|
// Last backup succeeded.
|
|
|
|
OWSBackupState_Succeeded,
|
2018-01-05 20:42:50 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
@class TSThread;
|
|
|
|
|
2018-01-04 21:16:24 +01:00
|
|
|
@interface OWSBackup : NSObject
|
|
|
|
|
2018-03-05 17:57:12 +01:00
|
|
|
@property (nonatomic, readonly) OWSBackupState backupExportState;
|
2018-01-05 20:42:50 +01:00
|
|
|
|
2018-03-05 17:57:12 +01:00
|
|
|
- (instancetype)init NS_UNAVAILABLE;
|
2018-01-08 21:31:51 +01:00
|
|
|
|
2018-03-05 17:57:12 +01:00
|
|
|
+ (instancetype)sharedManager;
|
2018-01-04 21:16:24 +01:00
|
|
|
|
2018-03-05 18:36:29 +01:00
|
|
|
- (BOOL)isBackupEnabled;
|
|
|
|
- (void)setIsBackupEnabled:(BOOL)value;
|
|
|
|
|
2018-03-06 16:10:22 +01:00
|
|
|
- (void)setup;
|
|
|
|
|
2018-01-04 21:16:24 +01:00
|
|
|
@end
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_END
|