Statistics
| Branch: | Tag: | Revision:

chatsecureios / ChatSecure / Classes / Controllers / OTRMediaFileManager.h @ ce32510a

History | View | Annotate | Download (1.94 KB)

1
//
2
//  OTRMediaFileManager.h
3
//  ChatSecure
4
//
5
//  Created by David Chiles on 2/19/15.
6
//  Copyright (c) 2015 Chris Ballinger. All rights reserved.
7
//
8

    
9
@import Foundation;
10

    
11
@class OTRMediaItem, IOCipher;
12

    
13
NS_ASSUME_NONNULL_BEGIN
14
extern NSString *const kOTRRootMediaDirectory;
15

    
16
@interface OTRMediaFileManager : NSObject
17

    
18
@property (nonatomic, strong, readonly) IOCipher *ioCipher;
19

    
20
- (BOOL)setupWithPath:(NSString *)path password:(NSString *)password;
21

    
22
- (void)copyDataFromFilePath:(NSString *)filePath
23
             toEncryptedPath:(NSString *)path
24
                  completion:(void (^)(BOOL success, NSError * _Nullable error))completion
25
             completionQueue:(nullable dispatch_queue_t)completionQueue;
26

    
27
- (void)setData:(NSData *)data
28
        forItem:(OTRMediaItem *)mediaItem
29
  buddyUniqueId:(NSString *)buddyUniqueId
30
     completion:(void (^)(NSInteger bytesWritten, NSError * _Nullable error))completion
31
completionQueue:(nullable dispatch_queue_t)completionQueue;
32

    
33
//#865
34
- (void)deleteDataForItem:(OTRMediaItem *)mediaItem
35
            buddyUniqueId:(NSString *)buddyUniqueId
36
               completion:(void (^)(BOOL success, NSError * _Nullable error))completion
37
          completionQueue:(nullable dispatch_queue_t)completionQueue;
38

    
39
- (nullable NSData*)dataForItem:(OTRMediaItem *)mediaItem
40
                  buddyUniqueId:(NSString *)buddyUniqueId
41
                          error:(NSError* __autoreleasing *)error;
42
- (nullable NSNumber*)dataLengthForItem:(OTRMediaItem *)mediaItem
43
                  buddyUniqueId:(NSString *)buddyUniqueId
44
                          error:(NSError* __autoreleasing *)error;
45

    
46
+ (NSString *)pathForMediaItem:(OTRMediaItem *)mediaItem buddyUniqueId:(NSString *)buddyUniqueId;
47
+ (NSString *)pathForMediaItem:(OTRMediaItem *)mediaItem buddyUniqueId:(NSString *)buddyUniqueId withLeadingSlash:(BOOL)includeLeadingSlash;
48

    
49
@property (class, nonatomic, readonly) OTRMediaFileManager *shared;
50

    
51
+ (instancetype)sharedInstance;
52

    
53
@end
54
NS_ASSUME_NONNULL_END