Fixed file services serialization
This commit is contained in:
parent
c24ea0f0ee
commit
2217b3558d
6 changed files with 26 additions and 14 deletions
|
@ -113,12 +113,16 @@ System::ResultStatus System::RunLoop(bool tight_loop) {
|
|||
return ResultStatus::ShutdownRequested;
|
||||
break;
|
||||
case Signal::Load: {
|
||||
LOG_INFO(Core, "Begin load");
|
||||
auto stream = std::ifstream("save0.citrasave", std::fstream::binary);
|
||||
System::Load(stream);
|
||||
LOG_INFO(Core, "Load completed");
|
||||
} break;
|
||||
case Signal::Save: {
|
||||
LOG_INFO(Core, "Begin save");
|
||||
auto stream = std::ofstream("save0.citrasave", std::fstream::binary);
|
||||
System::Save(stream);
|
||||
LOG_INFO(Core, "Save completed");
|
||||
} break;
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -19,11 +19,14 @@ void Directory::serialize(Archive& ar, const unsigned int) {
|
|||
ar& backend;
|
||||
}
|
||||
|
||||
Directory::Directory() : ServiceFramework("", 1) {}
|
||||
|
||||
Directory::Directory(std::unique_ptr<FileSys::DirectoryBackend>&& backend,
|
||||
const FileSys::Path& path)
|
||||
: ServiceFramework("", 1), path(path), backend(std::move(backend)) {
|
||||
: Directory() {
|
||||
this->backend = std::move(backend);
|
||||
this->path = path;
|
||||
}
|
||||
|
||||
Directory::Directory() : ServiceFramework("", 1), path(""), backend(nullptr) {
|
||||
static const FunctionInfo functions[] = {
|
||||
// clang-format off
|
||||
{0x08010042, &Directory::Read, "Read"},
|
||||
|
|
|
@ -26,11 +26,17 @@ void File::serialize(Archive& ar, const unsigned int) {
|
|||
ar& backend;
|
||||
}
|
||||
|
||||
File::File() : ServiceFramework("", 1), kernel(Core::Global<Kernel::KernelSystem>()) {}
|
||||
File::File() : File(Core::Global<Kernel::KernelSystem>()) {}
|
||||
|
||||
File::File(Kernel::KernelSystem& kernel, std::unique_ptr<FileSys::FileBackend>&& backend,
|
||||
const FileSys::Path& path)
|
||||
: ServiceFramework("", 1), path(path), backend(std::move(backend)), kernel(kernel) {
|
||||
: File(kernel) {
|
||||
this->backend = std::move(backend);
|
||||
this->path = path;
|
||||
}
|
||||
|
||||
File::File(Kernel::KernelSystem& kernel)
|
||||
: ServiceFramework("", 1), path(""), backend(nullptr), kernel(kernel) {
|
||||
static const FunctionInfo functions[] = {
|
||||
{0x08010100, &File::OpenSubFile, "OpenSubFile"},
|
||||
{0x080200C2, &File::Read, "Read"},
|
||||
|
|
|
@ -74,6 +74,7 @@ private:
|
|||
|
||||
Kernel::KernelSystem& kernel;
|
||||
|
||||
File(Kernel::KernelSystem& kernel);
|
||||
File();
|
||||
|
||||
template <class Archive>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue