19cd66512STomasz Sapeta // Copyright 2016-present 650 Industries. All rights reserved.
29cd66512STomasz Sapeta 
39cd66512STomasz Sapeta #import <Foundation/Foundation.h>
49cd66512STomasz Sapeta 
59cd66512STomasz Sapeta typedef NS_OPTIONS(unsigned int, EXFileSystemPermissionFlags) {
69cd66512STomasz Sapeta   EXFileSystemPermissionNone = 0,
79cd66512STomasz Sapeta   EXFileSystemPermissionRead = 1 << 1,
89cd66512STomasz Sapeta   EXFileSystemPermissionWrite = 1 << 2,
99cd66512STomasz Sapeta };
109cd66512STomasz Sapeta 
119cd66512STomasz Sapeta // TODO: Maybe get rid of this interface in favor of EXFileSystemManager and private utilities classes
129cd66512STomasz Sapeta @protocol EXFileSystemInterface
139cd66512STomasz Sapeta 
149cd66512STomasz Sapeta @property (nonatomic, readonly) NSString *documentDirectory;
159cd66512STomasz Sapeta @property (nonatomic, readonly) NSString *cachesDirectory;
169cd66512STomasz Sapeta @property (nonatomic, readonly) NSString *bundleDirectory;
179cd66512STomasz Sapeta 
189cd66512STomasz Sapeta // TODO: Move permissionsForURI to EXFileSystemManagerInterface
199cd66512STomasz Sapeta - (EXFileSystemPermissionFlags)permissionsForURI:(NSURL *)uri;
20*bf3dd357SBartłomiej Bukowski - (nonnull NSString *)generatePathInDirectory:(NSString *)directory withExtension:(NSString *)extension;
219cd66512STomasz Sapeta - (BOOL)ensureDirExistsWithPath:(NSString *)path;
229cd66512STomasz Sapeta 
239cd66512STomasz Sapeta @end
24