Commit graph

874 commits

Author SHA1 Message Date
Alex Barney
19dc9ebe9f Fix checking the FS access control content owner info size 2022-02-09 14:09:06 -07:00
Alex Barney
266ece82f2 Update version to 0.16.0 2022-02-05 16:13:31 -07:00
Alex Barney
e140419323 Handle more possible dir save extra data states 2022-02-05 16:12:29 -07:00
Alex Barney
b27bc7e665 Support reading compressed NCAs 2022-02-03 18:40:47 -07:00
Alex Barney
1597f05b27 Actually assign _entryCount field in BucketTree 2022-02-03 18:38:27 -07:00
Alex Barney
49759d3d10 Add GameCardService 2022-02-01 00:11:02 -07:00
Alex Barney
2fb3d88261 Ensure SdCardService and MmcService are updated for 13.1.0 2022-01-29 19:41:19 -07:00
Alex Barney
91e1e65aff Add IHash256Generator interfaces
- FsSystem.IHash256Generator
- FsSystem.IHash256GeneratorFactory
- FsSystem.IHash256GeneratorFactorySelector
2022-01-27 15:06:03 -07:00
Alex Barney
e969554639 Ensure more FS classes are updated for 13.1.0
- FsSrv.Impl.IResultConvertDirectory
- FsSrv.Impl.IResultConvertFile
- FsSrv.Impl.IResultConvertFileSystem
- FsSrv.Impl.SaveDataExtraDataAccessorCacheManager
- FsSrv.Impl.SaveDataExtraDataResultConvertAccessor
- FsSrv.Impl.SaveDataResultConvert
- FsSrv.Impl.SaveDataResultConvertDirectory
- FsSrv.Impl.SaveDataResultConvertFile
- FsSrv.Impl.SaveDataResultConvertFileSystem
- FsSrv.Impl.StorageInterfaceAdapter
- FsSystem.ISaveDataCommitTimeStampGetter
- FsSystem.ISaveDataExtraDataAccessor
- FsSystem.ISaveDataFileSystemCacheManager
- FsSystem.SaveDataFileSystemCacheManager
- FsSystem.SaveDataFileSystemCacheRegisterBase
2022-01-27 15:05:58 -07:00
Alex Barney
32ffda1d3f Ensure more FS classes are updated for 13.1.0
- Add some PooledBuffer global functions

- FsSrv.SaveDataInfoFilter
- FsSrv.SaveDataInfoFilterReader
- FsSrv.StatusReportService
- FsSrv.StatusReportServiceImpl
- FsSrv.TimeService
- FsSrv.TimeServiceImpl
- FsSystem.DefaultAsynchronousAccessSplitter
- FsSystem.IAsynchronousAccessSplitter
- FsSystem.StorageFile
2022-01-26 20:06:59 -07:00
Alex Barney
2c2fed445f Ensure more FS classes are updated for 13.1.0
- FsSystem.ForwardingDirectory
- FsSystem.ForwardingFile
- FsSystem.ForwardingFileSystem
- FsSystem.StorageLayoutTypeSetDirectory
- FsSystem.StorageLayoutTypeSetFile
- FsSystem.StorageLayoutTypeSetFileSystem
- FsSystem.StorageLayoutTypeSetStorage
- Fs.MemoryStorage
- Fs.ReadOnlyFile
- Fs.ReadOnlyFileSystem
2022-01-25 17:02:44 -07:00
Alex Barney
a7ffae3a14 Add UnionStorage 2022-01-24 15:34:14 -07:00
Alex Barney
0ba0a9ad9c Fixup ApplicationSaveDataManagement and update to 13.1.0 2022-01-24 15:02:32 -07:00
Alex Barney
dea3b3a8b0 Add some save data transfer client classes
- Fs.ISaveDataChunkIterator
- Fs.ISaveDataChunkExporter
- Fs.ISaveDataChunkImporter
- Fs.ISaveDataDivisionExporter
- Fs.ISaveDataDivisionImporter
- Fs.SaveDataTransferManagerVersion2
- Fs.SaveDataTransferProhibiterForCloudBackUp
- Fs.Impl.SaveDataChunkIterator
- Fs.Impl.SaveDataChunkExporter
- Fs.Impl.SaveDataChunkImporter
- Fs.Impl.SaveDataExporterVersion2
- Fs.Impl.SaveDataImporterVersion2
- Fs.Shim.SaveDataTransferVersion2Shim
2022-01-24 13:39:39 -07:00
Alex Barney
ebc6e1b23d Update FileSystemProxyImpl to 13.1.0 2022-01-19 15:28:14 -07:00
Alex Barney
ed6a34d857 Add DebugConfigurationService 2022-01-19 13:17:10 -07:00
Alex Barney
37b8249a8b Ensure more FS classes are updated for 13.1.0
- DeviceEventSimulationStorage
- MultiCommitManager
- DirectorySaveDataFileSystem
- SubdirectoryFileSystem
- FsSystem.Utility
2022-01-19 12:24:28 -07:00
Alex Barney
795bcf0960 Add/skeleton SignedSystemPartition/SdmmcControl 2022-01-19 01:36:23 -07:00
Alex Barney
c389f471d4 Ensure all complete shim classes are updated for 13.1.0
- ProgramIndexMapInfo
- ProgramRegistry
- SystemSaveData
2022-01-18 21:38:06 -07:00
Alex Barney
74ed435dee Ensure all of Shim.SaveDataManagement is updated for 13.1.0 2022-01-18 20:45:48 -07:00
Alex Barney
dc2a1cfaef Ensure more shim classes are updated for 13.1.0
- PosixTime
- RightsId
- SaveData
2022-01-18 18:04:06 -07:00
Alex Barney
0b9af17dfd Ensure shim classes are updated to 13.1.0
- Fs.Impl.DirectoryServiceObjectAdapter
- Fs.Impl.FileServiceObjectAdapter
- Fs.Impl.FileSystemServiceObjectAdapter
- Fs.Impl.StorageServiceObjectAdapter

- Fs.Shim.Application
- Fs.Shim.BcatSaveData
- Fs.Shim.Bis
- Fs.Shim.Code
- Fs.Shim.Content
- Fs.Shim.ContentStorage
- Fs.Shim.CustomStorage
- Fs.Shim.LoaderApi
2022-01-16 18:43:12 -07:00
Alex Barney
330bc2b483 Ensure Host shim is updated for 13.1.0 2022-01-16 01:04:24 -07:00
Alex Barney
f315cee9af Remove a workaround for CS8350 by using fixed arrays 2022-01-15 13:50:15 -07:00
Alex Barney
7f1035374d Ensure SaveDataSharedFileStorage classes are updated for 13.1.0
- SaveDataOpenTypeSetFileStorage
- SaveDataSharedFileStorage
- SaveDataFileStorageHolder
2022-01-15 13:28:24 -07:00
Alex Barney
d116903892 Add some "unchecked" blocks
Try to identify places where integer overflow is expected and mark them as "unchecked"
2022-01-15 12:39:06 -07:00
Alex Barney
085511660d Fixup save data indexer classes and update them for 13.1.0
- SaveDataIndexer
- SaveDataIndexerLite
- SaveDataIndexerLiteInfoReader
- SaveDataIndexerManager
- SaveDataIndexerAccessor
2022-01-15 03:02:21 -07:00
Alex Barney
ecb85269eb Fixup program-registry-related classes
- IProgramRegistry
- ProgramRegistryImpl
- ProgramIndexRegistryService
- ProgramRegistryServiceImpl
2022-01-13 18:44:58 -07:00
Alex Barney
814ae34642 Fixup ProgramIndexMapInfoManager 2022-01-12 16:29:42 -07:00
Alex Barney
9803634284 Fixup AccessControl and update for 13.1.0 2022-01-12 15:42:42 -07:00
Alex Barney
8ba258034b Fixup ProgramRegistryManager and ProgramInfo 2022-01-12 01:36:54 -07:00
Alex Barney
04a2e51cfa Ensure LocationResolverSet is updated for 13.1.0 2022-01-12 01:32:47 -07:00
Alex Barney
6cae86eb9c Disable another warning on fixed array structs 2022-01-06 11:12:07 -07:00
Alex Barney
d412c15387 Add Utf8StringUtil and update MountUtility for 13.1.0 2022-01-05 14:05:10 -07:00
Alex Barney
123fc0655d Update Fs.Path for 13.1.0 2022-01-05 12:04:09 -07:00
Alex Barney
1f8277202f Update DirectoryPathParser, PathUtility and WindowsPath for 13.1.0 2022-01-05 00:21:45 -07:00
Alex Barney
61b29e57a3 Update PathFormatter and PathNormalizer for 13.1.0 2022-01-04 22:17:35 -07:00
Alex Barney
e1fd31c1ff Update layout of Loader and Kvdb structs 2022-01-02 22:58:11 -07:00
Alex Barney
b0e679d000 Update struct layout of Ns structs 2022-01-02 16:52:57 -07:00
Alex Barney
b7e8ea8249 Update struct layout of most remaining Fs structs 2022-01-02 14:14:37 -07:00
Alex Barney
9a358a4e30 Remove unnecessary DebuggerDisplayAttributes 2021-12-30 20:49:36 -07:00
Alex Barney
ec38f80066 Update layout of Boot and some Fs structs
Boot:
- EncryptedKeyBlob
- KeyBlob
- Package1MarikoOemHeader
- Package1MetaData
- Package1Stage1Footer
- Package1Pk11Header
- Package2Header
- Package2Meta

Fs:
- ApplicationInfo
- CodeVerificationData
- DirectoryEntry
- EncryptionSeed
- FileSystemProxyErrorInfo
- StorageErrorInfo
- FileTimeStamp
- FileTimeStampRaw
- ProgramIndexMapInfo
- QueryRangeInfo
- RightsId
2021-12-30 17:12:29 -07:00
Alex Barney
57750b896d Update layout of Arp, Bcat, and some Fs structs
Stop using LayoutKind.Explicit and the Size parameter of StructLayout
2021-12-29 15:47:20 -07:00
Alex Barney
5380902376 Rename some save enum/struct fields 2021-12-29 10:13:42 -07:00
Alex Barney
5013e7d2ec Use fixed array structs instead of Data* structs 2021-12-29 10:06:02 -07:00
Alex Barney
53e5029ef4 Remove StructLayout and fix naming in KeySet 2021-12-28 22:53:09 -07:00
Alex Barney
7c3b8df564 Remove unnecessary StructLayoutAttributes in FixedArrays 2021-12-28 22:47:37 -07:00
Alex Barney
f0df8c2d9b Remove Do* methods from IStorage 2021-12-28 17:00:37 -07:00
Alex Barney
f1d704b8f8 Mark the versions of IFileSystem interfaces 2021-12-27 18:12:43 -07:00
Alex Barney
3940ca9d76 Ensure UserFileSystemForDebug/Private are updated to 13.1.0 2021-12-25 01:26:52 -07:00
Alex Barney
ac378020dc Ensure UserDirectory and UserFileSystem are updated to 13.1.0 2021-12-24 16:43:34 -07:00
Alex Barney
5670f2fd48 Add summary docs to ReadOnlySpan<byte> strings 2021-12-24 16:25:06 -07:00
Alex Barney
52d502a793 Update UserFile functions for 13.1.0 2021-12-24 13:29:35 -07:00
Alex Barney
221e2fa608 Add Fs.Range 2021-12-23 15:56:50 -07:00
Alex Barney
03ba6b01aa Update Registrar from 12.1.0 to 13.1.0 2021-12-22 18:59:01 -07:00
Alex Barney
cf7062788f Fixup some mounted-FS-related classes and update them to 13.1.0
- FileSystemAccessor
- FileAccessor
- DirectoryAccessor
- MountTable
- UserMountTable
- FileDataCacheAccessor
- IFileDataCache
- GlobalFileDataCacheAccessorReadableScopedPointer
- FileDataCache shim functions
- PathBasedFileDataCache shim functions
2021-12-22 16:43:04 -07:00
Alex Barney
375b5b9220 Update ConcatenationFileSystem from 12.1.0 to 13.1.0 2021-12-21 19:47:42 -07:00
Alex Barney
feef0ff63f Fixup ConcatenationFileSystem
- Experiment with using Catch/Handle/Rethrow for logging Results
- Try adding a new Ret function for logging results
- Misc tweaks
2021-12-21 17:45:27 -07:00
Alex Barney
c9a2056844 Update BufferedStorage for 13.1.0 2021-12-21 12:34:42 -07:00
Alex Barney
d2d73827ba Fixup BufferedStorage 2021-12-21 12:26:42 -07:00
Alex Barney
f1105da2cc Update FileSystemBufferManager for 13.1.0 2021-12-21 12:45:09 -07:00
Alex Barney
a17605b292 Fixup FileSystemBufferManager 2021-12-20 15:12:34 -07:00
Alex Barney
2a658e2733 Update FileSystemInterfaceAdapter for 13.1.0 2021-12-19 14:36:32 -07:00
Alex Barney
c4783f4589 Update FileStorage for 13.1.0 2021-12-19 14:07:20 -07:00
Alex Barney
634ab59742 Add BlockCacheManager and skeleton CompressedStorage 2021-12-15 01:17:56 -07:00
Alex Barney
527d81a3b2 Add default constructors to some mutex types 2021-12-14 23:03:11 -07:00
Alex Barney
e0b482f44b Add a description of the LibHac.Tools namespace 2022-01-07 00:33:47 -07:00
Alex Barney
14fcdc9d67 Move Npdm, LayeredFileSystem 2022-01-07 00:33:47 -07:00
Alex Barney
a289059ecf Move InMemoryFileSystem, PathParser, PathTools 2022-01-07 00:33:47 -07:00
Alex Barney
d0a1d98885 Move PartitionFileSystemBuilder, ConcatenationStorage 2022-01-07 00:33:47 -07:00
Alex Barney
c5f904710a Move IntegrityVerificationStorage 2022-01-07 00:33:47 -07:00
Alex Barney
27bf4a1003 Move DirectoryEntryEx 2022-01-07 00:33:47 -07:00
Alex Barney
00a5b07da0 Remove use of PathTools constants 2022-01-07 00:33:47 -07:00
Alex Barney
865f271fe7 Move StreamFile, StreamStorage, StorageExtensions, FileReader 2022-01-07 00:33:47 -07:00
Alex Barney
c6a09d1dfa Move StorageStream, NullFile, NullStorage 2022-01-07 00:33:47 -07:00
Alex Barney
de2d6746fe Move FileSystemExtensions, Messages 2022-01-07 00:33:47 -07:00
Alex Barney
5acff2acab Move CachedStorage, SectorStorage and derivatives 2022-01-07 00:33:47 -07:00
Alex Barney
ae35a1b916 Fix or suppress some ReSharper warnings 2022-01-07 00:33:47 -07:00
Alex Barney
0846b86249 Move AesXtsFileSystem 2022-01-07 00:33:47 -07:00
Alex Barney
f73d206901 Move ResultNameResolver 2022-01-07 00:33:47 -07:00
Alex Barney
8e5f400048 Move CryptoOld 2022-01-07 00:33:47 -07:00
Alex Barney
2bd1c05ed5 Move some files to LibHac.Common 2022-01-07 00:33:47 -07:00
Alex Barney
50dab0c7c9 Move InternalsVisibleToAttribute to the .csproj 2022-01-07 00:33:47 -07:00
Alex Barney
bba1030143 Move Lz4 2022-01-07 00:33:47 -07:00
Alex Barney
56b0695d0a Move Calibration 2022-01-07 00:33:47 -07:00
Alex Barney
34faf2b468 Move RomFs 2022-01-07 00:33:47 -07:00
Alex Barney
aa153980be Move NcaUtils 2022-01-07 00:33:47 -07:00
Alex Barney
7681429c97 Move NxFileStream, Delta 2022-01-07 00:33:47 -07:00
Alex Barney
3c6d082ad4 Make sure modifiers are all in a consistent order 2022-01-07 00:33:47 -07:00
Alex Barney
e3d55f6793 Move Keys 2022-01-07 00:33:47 -07:00
Alex Barney
2d86d63fc6 Move FsSystem/Save 2022-01-07 00:33:47 -07:00
Alex Barney
fef8e16a85 Move FileSystemClientUtils 2022-01-07 00:33:47 -07:00
Alex Barney
a88b3058e9 Move Ticket, SwitchFs, Cnmt, Nro, Xci again 2022-01-07 00:33:47 -07:00
Alex Barney
da930dfa81 Move Xci 2022-01-07 00:33:47 -07:00
Alex Barney
3e17692a25 Update version to v0.15.0 and .NET 6.0 2021-12-18 17:53:51 -07:00
Alex Barney
592343212f Add new key sources for key generation 13 2021-12-18 13:49:43 -07:00
Alex Barney
2f8e68e35f Fix LocalFileSystem on Linux 2021-12-18 13:24:10 -07:00
Alex Barney
8ccd4e11c0 Include the pdb file in the .nupkg
Works around jbevain/cecil#610

Using InlineIL.Fody messes up the pdb checksum which makes nuget.org consider the .snupkg to be invalid. Workaround this by including the pdb in the main .nupkg
2021-12-16 18:28:43 -07:00
Alex Barney
9451553fde AesXtsFile: Don't take the input file until the end of the constructor
An exception in the constructor would make it so the file wasn't disposed correctly
2021-12-14 01:43:29 -07:00
Alex Barney
2540f071ea LocalFileSystem: Allow deleting read-only files and directories 2021-12-14 01:43:29 -07:00
Alex Barney
6910049070 Fix bugs when copying directories
- CopyDirectoryRecursively would try to create directories on the source FS instead of the destination FS.
- Don't output file name twice in CopyDirectoryRecursively .
2021-12-14 01:43:29 -07:00
Alex Barney
a76b0ef075 hactoolnet: Fix error when extracting an nca's exefs 2021-12-11 01:37:19 -07:00
Alex Barney
f80af38c64 Add Language enum 2021-12-10 18:16:39 -07:00
Alex Barney
b5ccde1a29 Support NCAs with sparse partitions 2021-12-04 15:49:31 -07:00
Alex Barney
921fbab17a Improve IndirectStorage allocations
Make sure rented arrays are returned and remove delegate allocations by using lambda functions
2021-12-04 15:49:31 -07:00
Alex Barney
40925034e1 Update IndirectStorage and SparseStorage for 13.0 2021-12-04 15:49:31 -07:00
Alex Barney
f180bfeef9 Update BucketTree for 13.0 2021-12-04 15:49:31 -07:00
Alex Barney
771f2cdb26 Add ValueSubStorage 2021-12-04 15:49:31 -07:00
Alex Barney
280fe14b5f Consolidate the 2 separate Buffer types 2021-12-04 15:49:31 -07:00
Alex Barney
f526860599 Modify a few result names 2021-12-04 15:49:31 -07:00
Alex Barney
01ecd31110 hactoolnet: Add disablekeywarns option 2021-11-17 12:00:12 -07:00
Alex Barney
80e7466840 Add parameterless constructor to Fs.Path
We can finally initialize Fs.Path correctly thanks to C# 10 allowing parameterless constructors on structs
2021-11-14 18:36:53 -07:00
Alex Barney
34dda02c38 Use file-scoped namespaces 2021-11-14 18:36:53 -07:00
Alex Barney
6fe89a2966 Properly catch exceptions in LocalFileSystem.CleanDirectoryRecursively 2021-11-04 13:25:00 -07:00
Alex Barney
2793648d37 Remove deprecated classes 2021-11-04 13:02:25 -07:00
Alex Barney
0a8fb8a5c0 Update package1 and package2 readers to use SharedRef<T> 2021-11-03 23:08:50 -07:00
Alex Barney
2370f76c62 Bump version to 0.14.0 2021-11-03 23:08:50 -07:00
Alex Barney
257bdf0c46 Fix usages of SharedRef/UniqueRef 2021-11-03 23:08:50 -07:00
Alex Barney
f9f31056ef Use "in" instead of "ref" where appropriate in SharedRef<T> 2021-11-03 23:08:50 -07:00
Alex Barney
770cd222f1 Update Xci.HasPartition for the new path handling 2021-11-03 23:08:50 -07:00
Alex Barney
e14a20b4fa Use SharedRef in the bcat IPC interfaces 2021-11-03 23:08:50 -07:00
Alex Barney
f07e515048 Fix a new SubStorage bug and add NonCopyable attributes 2021-11-03 23:08:50 -07:00
Alex Barney
1f14a1c360 Fix some usages of SharedRef 2021-11-03 23:08:50 -07:00
Alex Barney
a23d01e934 Move code to use SharedRef instead of ReferenceCountedDisposable 2021-11-03 23:08:50 -07:00
Alex Barney
c28128c7dd Add SharedRef<T> and WeakRef<T> 2021-11-03 23:08:50 -07:00
Alex Barney
6082c10efa Fix bug in FileSystemServiceObjectAdapter.DoCreateDirectory 2021-11-03 23:08:50 -07:00
Alex Barney
01ca9e0412 Introduce UniqueRef<T> and use it in IFileSystem 2021-11-03 23:08:50 -07:00
Alex Barney
5f85c0b8e2 Use using statements to dispose Fs.Path variables 2021-11-03 23:08:50 -07:00
Alex Barney
39f727bc0d Address new warnings from Resharper 2021.2 2021-08-06 23:14:58 -07:00
Alex Barney
b244318e3a Add XML docs to Path 2021-08-06 18:51:55 -07:00
Alex Barney
689549fed7 Remove old path code 2021-08-05 12:59:57 -07:00
Alex Barney
aad87ec845 Update the FsSystem namespace to use Fs.Path 2021-08-05 11:59:05 -07:00
Alex Barney
6ba10074a3 Update the FsSrv namespace to use Fs.Path 2021-08-02 18:31:32 -07:00
Alex Barney
9a97e5ef3e Update lr client and LocationResolverSet 2021-08-02 18:30:00 -07:00
Alex Barney
6db134cae4 Update SaveDataFileSystemServiceImpl to use Path 2021-07-29 11:36:17 -07:00
Alex Barney
2f58e2fd5a Update ConcatenationFileSystem 2021-07-26 10:20:00 -07:00
Alex Barney
8bb6b0e824 Update FsSystem.Utility 2021-07-26 10:19:59 -07:00
Alex Barney
b86b57a4d3 Update SubdirectoryFileSystem and InMemoryFileSystem 2021-07-26 10:19:59 -07:00
Alex Barney
4efe313281 Update file system accessor classes 2021-07-26 10:19:59 -07:00
Alex Barney
77aef9166f Update tests to use the updated fsa interfaces 2021-07-26 10:19:59 -07:00
Alex Barney
4ceb925cde Update MultiCommitManager 2021-07-26 10:19:59 -07:00
Alex Barney
4934b1cbef Update FileSystemInterfaceAdapter 2021-07-26 10:19:58 -07:00
Alex Barney
8e162cc3c8 Update FileSystemServiceObjectAdapter 2021-07-26 10:19:58 -07:00
Alex Barney
7d3ceb5315 Update IFileSystem for nnsdk 12.x 2021-07-16 13:58:49 -07:00
Alex Barney
b7897c8553 Rename IFilesystem params 2021-07-16 00:14:02 -07:00
Alex Barney
8a5ecb18f8 Move new path code to the proper namespace 2021-07-13 19:44:14 -07:00
Alex Barney
a7f5c7c041 Implement nn::fs::Path 2021-07-13 19:44:14 -07:00
Alex Barney
79a4c62b2e Add version 12 implementations of path utility classes 2021-07-13 19:44:14 -07:00
Alex Barney
f444a999ba Add misc helper functions and fix null assertion text 2021-07-13 19:44:14 -07:00
Alex Barney
ec6eff156c Add missing "Unexpected" FS results 2021-07-13 19:44:14 -07:00
Alex Barney
8406bea563 Implement CharacterEncoding 2021-07-13 19:44:14 -07:00
Alex Barney
76e5a20e1d Handle old, pre-release cnmt files 2021-07-10 17:08:30 -07:00
Alex Barney
7cbbf023ff Add new key sources for key generation 12 2021-07-06 17:28:14 -07:00
Alex Barney
20dcbf8664 Fix a permissions bug when creating system save data 2021-06-29 19:27:49 -07:00
Alex Barney
496858c7a7 Fix incorrect assert in BucketTree.NodeBuffer.Allocate 2021-06-22 19:45:58 -07:00
Alex Barney
b3dc972881 Allow FS access log to be used without a backing FS server
Reduces the hactoolnet build size by ~260 KB due to fssrv code no longer being used
2021-06-15 01:55:19 -07:00
Alex Barney
44fd3eb0a4 Update package metadata and readme
Changes the description of the project to better reflect what it does
2021-06-15 00:07:50 -07:00
Alex Barney
c59e72606f Add CreateApplicationCacheStorage 2021-06-08 19:13:47 -07:00
Alex Barney
3018eeb8e8 Fix accidentally disposing an ISaveDataInfoReader 2021-06-01 17:39:53 -07:00
Alex Barney
f4d6d6b3c8 Add some docs and fix a permissions logic error 2021-06-01 10:38:17 -07:00
Alex Barney
b346280bc9 Make SaveDataManagement functions public and add tests 2021-06-01 10:38:17 -07:00
Alex Barney
3056c5c296 Implement extra data functions in SaveDataFileSystemService 2021-06-01 10:38:17 -07:00
Alex Barney
e99d05cc84 Make sure extra data is initialized in DirectorySaveDataFileSystem 2021-06-01 10:38:17 -07:00
Alex Barney
a1477cc9f9 Use a lock file for directory save data 2021-06-01 10:38:17 -07:00
Alex Barney
ccb8c078aa Write extra data when creating directory save data 2021-06-01 10:38:17 -07:00
Alex Barney
7294206116 Update ISaveDataFileSystemCreator.Create
Update method parameters and rewrite the method to use SaveDataSharedFileStorage.

SaveDataFileSystemCreator now requires a FileSystemServer at construction time, so DefaultFsServerObjects must be created after FileSystemServer construction but before FileSystemServer initialization.
2021-06-01 10:38:17 -07:00
Alex Barney
d1a49b989a Add SaveDataSharedFileStorage 2021-06-01 10:38:17 -07:00
Alex Barney
9f3e6db545 Auto-format SaveDataManagement 2021-06-01 10:38:17 -07:00
Alex Barney
5c6f78e751 Implement all defined methods in SaveDataManagement 2021-06-01 10:38:17 -07:00
Alex Barney
7122052565 Add more methods to SaveDataManagement
Skeleton most of the remaining methods in SaveDataManagement.
Implement the methods directly reading and writing save data extra data.
Add PosixTime.cs
FS shim macros now call nn::fs::detail::LogResultErrorMessage before aborting instead of nn::fs::detail::LogErrorMessage
2021-06-01 10:38:17 -07:00
Alex Barney
86be94e9b5 Fill out cache storage functions in SaveDataFileSystemService 2021-06-01 10:38:17 -07:00
Alex Barney
f67d51cb37 Add save data extra data functions to SaveDataFileSystemServiceImpl
Adds ReadSaveDataFileSystemExtraData and WriteSaveDataFileSystemExtraData
Auto-format SaveDataFileSystemServiceImpl
Use SdkRecursiveMutexType instead of SdkRecursiveMutex in SaveDataExtraDataAccessorCacheManager
2021-06-01 10:38:17 -07:00
Alex Barney
7aae39c358 Use save data caches in SaveDataFileSystemServiceImpl 2021-06-01 10:38:17 -07:00
Alex Barney
ed8ef13bfd Add SaveDataResultConvertFileSystem 2021-06-01 10:38:17 -07:00
Alex Barney
6f6201cb6d Add SaveDataFileSystemCacheRegisterBase 2021-06-01 10:38:17 -07:00
Alex Barney
f1caabf82b Add SaveDataFileSystemCacheManager 2021-06-01 10:38:17 -07:00
Alex Barney
d06731f464 Add SaveDataExtraDataAccessorCacheManager 2021-06-01 10:38:17 -07:00
Alex Barney
44229f5986 Rename some save data results 2021-06-01 10:38:17 -07:00
Alex Barney
25b94292b3 Modify ISaveDataFileSystemCreator 2021-06-01 10:38:17 -07:00
Alex Barney
649c72e5e6 Add extra data handling to DirectorySaveDataFileSystem 2021-06-01 10:38:17 -07:00
Alex Barney
3bf8826a5b Fill out SaveDataFileSystemServiceImpl.Configuration 2021-06-01 10:38:17 -07:00
Alex Barney
433e7bb98e Fix access control debug mask 2021-04-25 15:42:48 -07:00
Alex Barney
b03e7aa7e9 Fix MetaLoader KernelCapabilityOffset bug 2021-04-25 15:42:48 -07:00
Alex Barney
52c0903f61 Add Ncm.ProgramLocation 2021-04-25 15:42:48 -07:00
Alex Barney
1744e0a562 Actually implement IDisposable on DirectoryHandle 2021-04-19 12:27:07 -07:00
Alex Barney
17b8bc5b62 Make fssrv interface adapters public 2021-04-19 12:01:16 -07:00
Alex Barney
4d3a1418f6 Use more accurate Sf IFile and IStorage function signatures 2021-04-19 11:16:38 -07:00
Alex Barney
880916e117 Make FileHandle and DirectoryHandle implement IDisposable 2021-04-19 11:16:38 -07:00
Alex Barney
646055de5a Update version to 0.13.0 2021-04-18 19:34:37 -07:00
Alex Barney
a730c17bc5 Add Loader.MetaLoader 2021-04-16 14:55:30 -07:00
Alex Barney
bb2c870f27 Update DirectorySaveDataFileSystem to 11.0.0 2021-04-15 16:30:12 -07:00
Alex Barney
4ea2896b72 Improve LocalFileSystem
- Add case-sensitive mode.
- Avoid TargetLocked results by waiting and retrying a few times.
- Allow getting either windows or unix timestamps.
- Try a finite number of times if an entry has been deleted before returning TargetLocked.
2021-04-01 01:26:23 -07:00
Alex Barney
8848959831 Add most FS results 2021-03-28 23:13:06 -07:00
Alex Barney
0c255e0f49 Update common path handling code
- Updates path handling code to system version 11.0.0.
- Changes InMemoryFileSystem to normalize all incoming paths.
2021-03-28 16:03:05 -07:00
Alex Barney
7269c0a215 Add new assert system
Mostly imitates nnsdk's assert system. The assert handler object is global because passing around a HorizonClient object just to do asserts would be annoying
2021-03-27 21:28:13 -07:00
Alex Barney
12fe47c91c Rename "Detail" namespaces to "Impl" 2021-03-19 16:57:11 -07:00
Alex Barney
0ab26fdd69 Rename FsSrv.Creators to FsSrv.FsCreator 2021-03-19 16:57:11 -07:00
Alex Barney
d8b8e3088e Use SkipParamInit for handling unwritten out values
Use this function in all places out values that set in the original code because of errors. Unmanaged values will stay uninitialized while managed values will be zeroed.
2021-03-19 16:57:11 -07:00
Alex Barney
d2c327377d Remove "--removefeature:EventSource" compile option 2021-03-12 01:34:14 -07:00
Alex Barney
e2f1d74ae5 Remove some old logging classes 2021-03-12 01:34:14 -07:00