1 // Copyright 2016-present 650 Industries. All rights reserved. 2 3 #import <Foundation/Foundation.h> 4 5 typedef NS_OPTIONS(unsigned int, EXFileSystemPermissionFlags) { 6 EXFileSystemPermissionNone = 0, 7 EXFileSystemPermissionRead = 1 << 1, 8 EXFileSystemPermissionWrite = 1 << 2, 9 }; 10 11 // TODO: Maybe get rid of this interface in favor of EXFileSystemManager and private utilities classes 12 @protocol EXFileSystemInterface 13 14 @property (nonatomic, readonly) NSString *documentDirectory; 15 @property (nonatomic, readonly) NSString *cachesDirectory; 16 @property (nonatomic, readonly) NSString *bundleDirectory; 17 18 // TODO: Move permissionsForURI to EXFileSystemManagerInterface 19 - (EXFileSystemPermissionFlags)permissionsForURI:(NSURL *)uri; 20 - (NSString *)generatePathInDirectory:(NSString *)directory withExtension:(NSString *)extension; 21 - (BOOL)ensureDirExistsWithPath:(NSString *)path; 22 23 @end 24