diff --git a/src/LibHac/FsSrv/Creators/EmulatedBisFileSystemCreator.cs b/src/LibHac/FsSrv/Creators/EmulatedBisFileSystemCreator.cs index 2d53106f..d9261d59 100644 --- a/src/LibHac/FsSrv/Creators/EmulatedBisFileSystemCreator.cs +++ b/src/LibHac/FsSrv/Creators/EmulatedBisFileSystemCreator.cs @@ -4,16 +4,49 @@ using LibHac.Fs.Fsa; namespace LibHac.FsSrv.Creators { + /// + /// Provides objects for the built-in storage (BIS) partitions. + /// + /// + /// An provides s of the + /// four BIS partitions: CalibrationFile, SafeMode, User and System. + /// The source of each partition is determined by the (optionally) provided + /// .
+ /// There are multiple ways the source of a partition can be specified in the configuration. In order of precedence: + /// + /// Set an object with .
+ /// The IFileSystem will directly be used for the specified partition.
+ /// Set a path with .
+ /// The source for the partition will be the provided path in the root file system. e.g. at /my/path in the root FS. + /// The root file system must be set in the configuration when using this option.
+ /// Only set the root file system in the configuration.
+ /// The source of the partition will be at its default path in the root file system.
+ /// Default paths for each partition:
+ /// : /bis/cal
+ /// : /bis/safe
+ /// : /bis/user
+ /// : /bis/system
+ ///
public class EmulatedBisFileSystemCreator : IBuiltInStorageFileSystemCreator { private EmulatedBisFileSystemCreatorConfig Config { get; } + /// + /// Initializes an with the default + /// using the provided . + /// Each partition will be located at their default paths in this IFileSystem. + /// + /// The to use as the root file system. public EmulatedBisFileSystemCreator(IFileSystem rootFileSystem) { Config = new EmulatedBisFileSystemCreatorConfig(); Config.RootFileSystem = rootFileSystem; } + /// + /// Initializes an with the provided configuration. + /// + /// The configuration to use. public EmulatedBisFileSystemCreator(EmulatedBisFileSystemCreatorConfig config) { Config = config; @@ -78,6 +111,12 @@ namespace LibHac.FsSrv.Creators return GetDefaultPartitionPath(id); } + /// + /// Gets the default path for the specified partition. + /// + /// The partition ID of the path to get. + /// The default path for the specified partition. + /// These paths are the same paths that Nintendo uses on Windows. private string GetDefaultPartitionPath(BisPartitionId id) { Debug.Assert(IsValidPartitionId(id)); diff --git a/src/LibHac/FsSrv/Creators/EmulatedBisFileSystemCreatorConfig.cs b/src/LibHac/FsSrv/Creators/EmulatedBisFileSystemCreatorConfig.cs index 06e5c420..64172069 100644 --- a/src/LibHac/FsSrv/Creators/EmulatedBisFileSystemCreatorConfig.cs +++ b/src/LibHac/FsSrv/Creators/EmulatedBisFileSystemCreatorConfig.cs @@ -4,6 +4,10 @@ using LibHac.Fs.Fsa; namespace LibHac.FsSrv.Creators { + /// + /// Configuration for that specifies how each + /// BIS partition is opened. + /// public class EmulatedBisFileSystemCreatorConfig { private const int ValidPartitionCount = 4;