Commit graph

307 commits

Author SHA1 Message Date
Alex Barney
cccb811293
Add Result methods for debugging (#90)
- Allow setting a callback function for when Result.Log is called.
- Allow setting a function that returns a name for a Result value.
- Print Result name in error messages
2019-10-25 22:13:09 -05:00
Alex Barney
172817a7d5 Make EmulatedSdFileSystemCreator config easier
Also make unintentionally internal classes public and enforce var style
2019-10-24 15:28:36 -05:00
Alex Barney
f3b5cad94b
Merge pull request #89 from Thealexbarney/saveIndex
Add a save indexer with related functions

Adds IFileSystemProxy commands:

- DeleteSaveDataFileSystem
- DeleteSaveDataFileSystemBySaveDataSpaceId
- DeleteSaveDataFileSystemBySaveDataAttribute
- CreateSaveDataFileSystem
- CreateSaveDataFileSystemWithHashSalt
- CreateSaveDataFileSystemBySystemSaveDataId
- OpenSaveDataFileSystem
- OpenReadOnlySaveDataFileSystem
- OpenSaveDataInfoReader
- OpenSaveDataInfoReaderBySaveDataSpaceId
- OpenSaveDataInfoReaderWithFilter
- FindSaveDataWithFilter
2019-10-24 10:37:56 -05:00
Alex Barney
901b72a186 Make internally-used FileSystemProxy methods private 2019-10-23 17:45:28 -05:00
Alex Barney
436de21c86 Add ISaveDataIndexer.GetCount 2019-10-23 17:30:08 -05:00
Alex Barney
bf8b975fa6 Implement more OpenSaveDataInfoReader commands 2019-10-23 17:12:24 -05:00
Alex Barney
04b123f16e Adjust opened SaveDataInfoReaders if the collection is modified 2019-10-23 15:44:00 -05:00
Alex Barney
f0aac13fab Add some SaveDataInfoReader functions 2019-10-22 17:52:55 -05:00
Alex Barney
3af543e4e1 Do error handling in CreateSaveDataFileSystemImpl 2019-10-21 20:38:59 -05:00
Alex Barney
e74bda1a68 Implement DeleteSaveDataFileSystem 2019-10-21 00:29:54 -05:00
roblabla
d2cf1ecb1f hactoolnet: Add Title Name to NCA output
When displaying an NCA containing an NPDM in the code partition, display the
title name.
2019-10-19 10:41:28 -05:00
Alex Barney
92049bf9b7 Add main parts of CreateSaveDataFileSystem 2019-10-18 18:57:45 -05:00
Alex Barney
fef6d19900 Rearrange some FS client functions 2019-10-17 15:52:29 -05:00
Alex Barney
ee9bee3efb Make IFileSystem implement IDisposable 2019-10-17 14:52:44 -05:00
Alex Barney
d330d11de2 Add SaveDataIndexer 2019-10-17 10:52:35 -05:00
Alex Barney
c7f2f28a81 Fix CleanDirectoryRecursivelyGeneric 2019-10-16 20:28:46 -05:00
Alex Barney
dee7c93285 Use plain structs for kvdb 2019-10-15 12:33:15 -05:00
Alex Barney
be907ce4bb
Target .NET Core 3.0 (#85)
* Target .NET Core 3.0

* Update build and test project packages

* Update AppVeyor build image
2019-10-14 21:10:53 -05:00
Alex Barney
9b9e83f1dc Increment GitVersion. Renaming 2019-10-14 17:26:47 -05:00
Alex Barney
102adb4a11 Update version to 0.6.0 2019-10-14 12:28:23 -05:00
Alex Barney
49ec3d6427 Add a path normalizer that behaves like the one in FS 2019-10-14 12:10:56 -05:00
Alex Barney
e05a37bb38 Ensure failed directory savedata commits can be recovered 2019-10-14 12:10:56 -05:00
Alex Barney
576049ce88 Add OperateRange to IFile and IStorage. Reorder methods 2019-10-11 21:20:20 -05:00
Alex Barney
8390e10ae0 Make FileBase abstract methods protected 2019-10-11 20:32:47 -05:00
Alex Barney
8f4c310b7e Add FileSystemBase 2019-10-11 19:11:36 -05:00
Alex Barney
162fb4e389 Move IStorage classes to the new StorageBase 2019-10-11 14:48:31 -05:00
Alex Barney
bfc343e801 Add some validation to StorageBase 2019-10-11 12:53:29 -05:00
Alex Barney
54950c9b68 Handle more errors in LocalFileSystem 2019-10-10 19:01:46 -05:00
Alex Barney
089b5b4f63 Add EmulatedGameCardFsCreator 2019-10-08 20:39:07 -05:00
Alex Barney
f4aaa3b453 Merge from master 2019-10-08 16:29:05 -05:00
Alex Barney
6ed1f1297d Make GameCardHandle.Value public 2019-10-08 11:29:33 -05:00
Alex Barney
b517085e92 Add DefaultFsServerObjects for creating a default server instance 2019-10-07 19:01:53 -05:00
Alex Barney
51a13068df Add an emulated gamecard and storage creator 2019-10-07 18:39:06 -05:00
Alex Barney
9934f477d5 Add remaining GetRightsId methods and U8StringBuilder 2019-10-04 17:17:25 -05:00
Alex Barney
fdd7eebb4b Add external key methods to FS client/server 2019-10-02 17:57:10 -05:00
roblabla
a68d8c16d8 Add developer fixed key modulus 2019-10-02 13:53:40 -05:00
Alex Barney
d291500b28 Add ExternalKeySet. Use C# 8.0 2019-10-02 13:45:58 -05:00
Alex Barney
d7f3e94577 Add a basic SaveDataFileSystemCreator 2019-10-01 16:32:20 -05:00
Alex Barney
5011a57d3e Add an option to control which types of access events are logged 2019-09-30 16:15:31 -05:00
Alex Barney
22bbf07c2b Add a function for handling possible access log output 2019-09-29 11:54:34 -05:00
Alex Barney
838bb18a09 Add some savedata client functions 2019-09-27 23:36:43 -05:00
Alex Barney
00eb988793 Move FileSystemManager into FileSystemClient 2019-09-25 17:50:07 -05:00
Alex Barney
955fff8efc Add FileHandleStorage and a new SubStorage class 2019-09-25 17:16:59 -05:00
Alex Barney
c89bc1c706 Make FileSystemProxy implement IFileSystemProxy 2019-09-23 18:37:23 -05:00
Alex Barney
fd40b2fd77 Remove the old FileBase class 2019-09-23 00:36:47 -05:00
Alex Barney
6a449b7da1 Remove IFile.Mode and create a new FileBase class 2019-09-21 23:38:47 -05:00
Alex Barney
22940f20e5 Move custom storage client code together 2019-09-21 13:59:35 -05:00
Alex Barney
0fe3031701 Move common items to the Fs class 2019-09-21 13:05:45 -05:00
Alex Barney
0e01aa3984 Rename FS namespaces 2019-09-21 12:29:10 -05:00
Alex Barney
a7befc5612 Add AccessPermissions enum 2019-09-20 22:51:42 -05:00
Alex Barney
115d798905 Add more methods to IFileSystemProxy 2019-09-20 00:40:14 -05:00
Alex Barney
5ca698eda1 More IFileSystemProxy functions 2019-09-18 18:07:08 -05:00
Alex Barney
7e2dd22079 Add more methods to IFileSystemProxy 2019-09-18 16:29:27 -05:00
Alex Barney
7222c7d469 Add a few more method definitions to IFileSystemProxy 2019-09-16 22:05:22 -05:00
Alex Barney
4bbfa057d2 Add U8String class and some FileSystemClient functions 2019-09-16 16:42:32 -05:00
Alex Barney
2f49021405 Begin filling out FileSystemClient functions 2019-09-15 08:11:54 -05:00
Alex Barney
734d86d336 Change IDirectory to match the interface in FS 2019-09-14 18:35:25 -05:00
Alex Barney
104312bf06 Log result codes in access log 2019-09-08 15:16:37 -05:00
Alex Barney
9e9fd19f63 Return Result from IFileSystem methods 2019-09-08 14:28:42 -05:00
Alex Barney
69e7735666 Change IFile and IStorage classes to return Result 2019-09-03 12:35:34 -05:00
Alex Barney
d073bdfa54 Change IFile and IStorage interfaces 2019-09-01 18:35:59 -05:00
Alex Barney
6823aa7cb8 Add placeholder FileSystemClient functions 2019-09-01 18:17:35 -05:00
Alex Barney
f0ce5a9946 Change names of some enum members 2019-08-31 19:17:28 -05:00
Alex Barney
dfff3b1ccf Create FileSystemClient 2019-08-31 10:15:49 -05:00
Alex Barney
d6165d1097 Add OpenSaveDataFileSystemBySystemSaveDataId 2019-08-29 18:54:51 -05:00
Alex Barney
d610d2262b Add a Result.Log() method to aid in debugging 2019-08-27 12:27:07 -05:00
Alex Barney
cb705c5f0f Add some file system creators 2019-08-25 21:41:48 -05:00
Alex Barney
82c5c5d9a0 Create FileSystemProxy class 2019-08-22 14:56:03 -05:00
Alex Barney
a052ebb8a1 Add fscreator interfaces 2019-08-19 21:24:30 -05:00
Alex Barney
c3dfaf14e8 Add content storage and content meta DB interfaces 2019-08-11 19:22:39 -05:00
Alex Barney
d69c1a4725 Bump version to 0.5.1 2019-08-11 16:42:17 -05:00
Alex Barney
2f4df2eef3 Derive additional SD card keys 2019-08-11 16:36:21 -05:00
Alex Barney
614adb2a31 Don't add unnecessary ".cnmt" to SwitchFs nca names 2019-08-09 20:47:21 -05:00
Alex Barney
9d813ade18
Use .NET Framework reference assemblies from NuGet (#77)
* Use .NET Framework reference assemblies from NuGet

* Update build packages. Specify --no-build when publishing

* Don't sign on Linux
2019-08-09 20:29:06 -05:00
Alex Barney
4ef297be7f Fix getting structure size in RomFsDictionary 2019-08-08 18:12:07 -05:00
Alex Barney
7099b3cdf2
Make the value stored by HierarchicalRomFileTable generic (#76)
* Make the value stored by HierarchicalRomFileTable generic

* Don't use new language features yet
2019-08-08 17:46:49 -05:00
Alex Barney
ea2572c479 Ensure EnsureDirectoryExists works properly 2019-08-08 17:28:34 -05:00
Alex Barney
b03973dc48 hactoolnet: Savefile fixes
Only open as writable if needed
Only commit if needed
2019-07-19 19:50:42 -05:00
Alex Barney
7b8c3f0b4f
Add .NET Standard 2.0 target (#73)
* Add .NET Standard 2.0 target

* Update dependencies
2019-07-15 14:10:48 -05:00
Alex Barney
76550b0bd9
Remove LibHac.Nand and related projects (#72) 2019-07-14 19:56:02 -05:00
Alex Barney
ab8283183b hactoolnet: Don't fix archive flag on non-Windows platforms 2019-07-09 21:27:11 -05:00
Alex Barney
90c048c389 Add basic docs for ConcatenationFileSystem 2019-07-08 13:27:23 -05:00
Alex Barney
74a3929eb9 Workaround the inability to access FAT attributes in Linux 2019-07-08 13:27:23 -05:00
Alex Barney
6f1596ae5f More closely match original FS behavior in IFileSystem 2019-07-07 16:30:18 -05:00
Alex Barney
6adcc8cce0 Rethrow exceptions with external result code 2019-07-07 16:30:18 -05:00
Alex Barney
69658ae08e Add result ranges and convert savedata results to external results 2019-07-07 16:30:18 -05:00
Alex Barney
bbf92766c0 Change behavior of IFileSystem.GetEntryType
GetEntryType now returns NotFound if the entry doesn't exist.
The FileExists and DirectoryExists functions were removed from IFileSystem and readded as extension methods
2019-06-28 23:08:27 -05:00
Alex Barney
8f37b2b1c4 Use more result codes in FS code 2019-06-28 23:08:27 -05:00
Alex Barney
46d4274686 Support xts nca. Handle more errors in switchfs 2019-06-26 13:26:37 -05:00
Alex Barney
abad1ee666 Fix NCA2 decryption bug 2019-06-26 13:26:37 -05:00
Alex Barney
89525c5eaa hactoolnet: Use FileSystemManager in ProcessSave 2019-06-26 13:26:37 -05:00
Alex Barney
a43da54f95 Fix path normalizer bug 2019-06-26 13:26:37 -05:00
Alex Barney
a14b513b59 hactoolnet: Add an access log option and enable it for NCAs
Progress bars for NCA extraction now show the overall progress instead of per-file progress
2019-06-26 13:26:37 -05:00
Alex Barney
b51d4397e9 Add close and unmount methods. Add helpers for common fs tasks 2019-06-26 13:26:37 -05:00
Alex Barney
1859b4ce26 Add FS access log 2019-06-26 13:26:37 -05:00
Alex Barney
5d32150ad8 Update PathTools.IsNormalized to handle mount names 2019-06-26 13:26:37 -05:00
Alex Barney
b821ba9519 Add additional FileSystemManager methods 2019-06-26 13:26:37 -05:00
Alex Barney
9964483e83 Add basic FileSystemManager methods 2019-06-26 13:26:37 -05:00
Alex Barney
a44bdf780e Make path normalizer work with mount names 2019-06-26 13:26:37 -05:00
Alex Barney
5a8744c6b5 Add basic filesystem accessors 2019-06-26 13:26:37 -05:00