Commit graph

934 commits

Author SHA1 Message Date
Alex Barney
684fcd460f Swap in the new fsa code except for some access log calls 2021-03-12 01:34:14 -07:00
Alex Barney
0dc433d8a2 Implement UserFileSystem and mount registration 2021-03-12 01:34:14 -07:00
Alex Barney
a11e84cc81 Implement or skeleton fsa file system code 2021-03-12 01:34:14 -07:00
Alex Barney
61654298d2 Implement or skeleton some mounting code 2021-03-12 01:34:14 -07:00
Alex Barney
596a8bef7c Rewrite file system accessors 2021-03-12 01:34:14 -07:00
Alex Barney
5eb063f4ec
Merge pull request #174 from Thealexbarney/Fsp-Storage
- Implement some of LibHac.Os
- Add the Mmc and SD card portions of FsSrv.Storage
- Add the Time, AccessFailureManagement and StatusReport services to `FileSystemProxyImpl`
- Use a new method for handling globals.
Each translation unit with global fields now has a struct containing that TU's globals, or at least the best guess at its globals. `FileSystemServer` now only contains a single `FileSystemServerGlobals` struct that contains all those TU global structs.

Each translation unit with global functions has extension methods for each function. The type the methods extend depends on its original namespace. e,g, `nn::fssrv` functions go on `FileSystemServer` and `nn::fssrv::detail` functions go on `FileSystemServerImpl`.
`FileSystemServer.cs` is simple enough that the code itself explains it well.

With this in place, the FS "process" initialization code has been properly separated from the FS library code. That initialization code is currently in `FileSystemServerInitializer`. This separation allows consumers of the library to implement the initialization code themselves and customize it as they wish.
2021-02-07 17:41:13 -07:00
Alex Barney
270e61a501 Add properties to FileSystemServerImpl and StorageService 2021-02-07 00:53:40 -07:00
Alex Barney
e50078d939 Move initialization code out of FileSystemServer 2021-02-07 00:26:20 -07:00
Alex Barney
a94bb81c54 Add FsSrv.Impl.FileSystemProxyServiceObject 2021-02-06 22:04:00 -07:00
Alex Barney
e3c14dfa4f Add FileSystemProxyServiceObject for the FileSystemClient
Moves all the Get*ServiceObject functions to their own file.
Adds InitializeDfcFileSystemProxyServiceObject.
2021-02-06 00:29:47 -07:00
Alex Barney
58e94e99a9 Pass in a FileSystemServer to more classes 2021-02-05 15:18:08 -07:00
Alex Barney
dadc019439 Use globals in more places
Adds globals for FileSystemProxyImpl, ProgramRegistryImpl, AccessControl and StorageDeviceManagerFactory
2021-02-02 21:11:51 -07:00
Alex Barney
e9918fa5aa Add AccessFailureManagementService 2021-01-31 01:23:38 -07:00
Alex Barney
e9f518ddc1 Convert tabs to spaces because spaces are better. Fight me.
No idea how this one file got formatted with tabs.
2021-01-30 02:31:17 -07:00
Alex Barney
3463c977dd Implement the rest of TimeServiceImpl 2021-01-30 02:14:12 -07:00
Alex Barney
d0e608775e Flesh out FileSystemProxy functions a bit more including 11.0.0 ones 2021-01-30 01:54:43 -07:00
Alex Barney
2f9fbdb818 Add StatusReportService 2021-01-29 17:41:12 -07:00
Alex Barney
e5291eb06a Fix IFatFileSystemCreator 2021-01-29 01:03:23 -07:00
Alex Barney
119809a965 Add Mmc and SD card portions of Fssrv.Storage 2021-01-29 01:03:06 -07:00
Alex Barney
b315e14da0 Add IDeviceEventSimulator and implement some of the Os namespace 2021-01-28 23:24:24 -07:00
Alex Barney
981b902606 Move Results to their correct namespaces 2021-01-19 21:30:02 -07:00
Alex Barney
b992cdf8c4 Allow setting namespaces on individual Results
Groups files of results by namespace rather than by module
2021-01-19 21:30:02 -07:00
Alex Barney
65f8ab671f Mark abstract results as such 2021-01-19 21:30:02 -07:00
Alex Barney
9eeed9c225 Allow defining abstract Results 2021-01-19 21:30:02 -07:00
Alex Barney
7b38708c11 Add missing IFileSystemProxy methods 2021-01-19 21:30:02 -07:00
Alex Barney
e9ffc5a5e6 Move IFileSystemProxy to the Sf namespace 2021-01-19 21:30:02 -07:00
Alex Barney
5367d7c5cd Add save data transfer sf interfaces 2021-01-19 21:30:02 -07:00
Alex Barney
f2f68958a8 Pull in some results from Atmosphere 2021-01-19 21:30:02 -07:00
Alex Barney
6b8b1515c2 Compress result name data 2021-01-19 21:30:02 -07:00
Alex Barney
2c7291b9ae Update CoreRT/Native AOT version 2021-01-19 21:30:02 -07:00
Alex Barney
4bf7060ec7
Update ReSharper var style and warnings (#172)
ReSharper 2020.Something modified the var style again so that arrays of built-in types also count as built-in types, meaning the type should always be explicit.
2021-01-19 19:49:58 -07:00
Alex Barney
4efd95f94c Add BufferedStorage with some supporting classes 2021-01-18 23:48:37 -07:00
Alex Barney
32a3750a92 Add FileSystemBufferManager 2021-01-18 23:48:37 -07:00
Alex Barney
8e1eb0d057 Add FileSystemBuddyHeap 2021-01-18 23:48:37 -07:00
Alex Barney
454f38f1bb Rename Assert.AssertTrue to Assert.True 2021-01-18 23:48:37 -07:00
Alex Barney
acce155341 Move some functions from Utilities to LibHac.Util.* 2021-01-18 23:48:37 -07:00
Alex Barney
7fcb0054e4 Support NCA0 sections using IVFC hashes 2020-11-25 23:40:43 -06:00
Alex Barney
a0487980d4 Add mariko master kek source 5
This key was missed when adding the others because it was used in package1ldr instead of secmon
2020-11-25 22:26:19 -06:00
Alex Barney
369784ff12 Use SkipInit for initializing path string types 2020-11-17 22:41:54 -06:00
Alex Barney
e82d3e039b Update build and test packages 2020-11-17 22:41:54 -06:00
Alex Barney
25f8115600 Move to .NET 5.0 2020-11-17 22:41:54 -06:00
Alex Barney
46be7259d0
Merge pull request #167 from Thealexbarney/fsp-split
- Split `FileSystemProxyImpl` into ~8 different classes.
- Add `sf` IPC interfaces to `fssrv` and use them where appropriate
- Make `IFileSystemProxy` method signatures more accurate
- Implement LR client
- Flesh out and fully implement many `fssrv` methods
- In general, make new and previously-existing code in `fssrv` more accurate to FS 10.0.0
2020-11-11 18:20:07 -06:00
Alex Barney
57c0a5065c Rename FsSrv.Sf file system and storage interfaces 2020-11-10 22:03:54 -07:00
Alex Barney
0efaafd101 Add more NcaFileSystemService functions 2020-11-10 15:07:28 -07:00
Alex Barney
6b6a31dcea Add BaseStorageService 2020-11-05 01:15:21 -07:00
Alex Barney
c29fed67c1 Add TimeService 2020-11-05 01:14:53 -07:00
Alex Barney
9826178fb6 Add AccessLogService 2020-11-04 00:46:39 -07:00
Alex Barney
a3220cc8df Fix method signatures in IFileSystemProxy 2020-11-02 17:05:13 -07:00
Alex Barney
882e6bc937 Separate fssrv save code to SaveDataFileSystemService 2020-11-01 23:54:00 -07:00
Alex Barney
3837ed7eea Add more FS IPC interfaces with adapters 2020-10-14 15:19:15 -07:00