1aa1f6391SJanic Duplessis // Copyright 2015-present 650 Industries. All rights reserved.
2aa1f6391SJanic Duplessis 
3aa1f6391SJanic Duplessis #import <UIKit/UIKit.h>
4*c9802ebaSStanisław Chmiela #import "EXKernelService.h"
5b0b64c79SStanisław Chmiela 
6b0b64c79SStanisław Chmiela // Prior to SDK 29, EXFileSystem native module was registering with a dependency on EXFileSystemManager kernel service.
7b0b64c79SStanisław Chmiela // The purpose of this kernel service was to provide the module with bundle directory and bundled assets list.
8b0b64c79SStanisław Chmiela // The kernel service acted in two ways, it returned some values if the experience was standalone/detached
9b0b64c79SStanisław Chmiela // and it returned empty values if the experience wasn't standalone
10b0b64c79SStanisław Chmiela //
11b0b64c79SStanisław Chmiela // Since SDK 29 we strive to move as much generic code as possible to universal modules.
12b0b64c79SStanisław Chmiela //
13b0b64c79SStanisław Chmiela // The standalone scenario implementation was applicable to detached, standalone and vanilla React Native applications
14b0b64c79SStanisław Chmiela // so/and it was moved to expo-file-system package as EXFileSystemManagerService. We still had to take Expo Client scenario
15b0b64c79SStanisław Chmiela // into consideration — for this, EXFileSystemBinding class was created, which checks with constants module if the app is an Expo Client.
16b0b64c79SStanisław Chmiela // If so, it early returns empty values. (Otherwise it falls back to expo-file-system's EXFileSystemManagerService implementation).
17b0b64c79SStanisław Chmiela //
18b0b64c79SStanisław Chmiela // This class is used only in SDKs < 29.
19aa1f6391SJanic Duplessis 
20aa1f6391SJanic Duplessis NS_ASSUME_NONNULL_BEGIN
21aa1f6391SJanic Duplessis 
22*c9802ebaSStanisław Chmiela @interface EXFileSystemManager : NSObject <EXKernelService>
23*c9802ebaSStanisław Chmiela 
24*c9802ebaSStanisław Chmiela - (NSString *)bundleDirectoryForExperienceId:(NSString *)experienceId;
25*c9802ebaSStanisław Chmiela - (NSArray<NSString *> *)bundledAssetsForExperienceId:(NSString *)experienceId;
26aa1f6391SJanic Duplessis 
27aa1f6391SJanic Duplessis @end
28aa1f6391SJanic Duplessis 
29aa1f6391SJanic Duplessis NS_ASSUME_NONNULL_END
30aa1f6391SJanic Duplessis 
31