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