aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/FileSystem
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.HLE/FileSystem')
-rw-r--r--Ryujinx.HLE/FileSystem/Content/ContentManager.cs26
-rw-r--r--Ryujinx.HLE/FileSystem/PFsProvider.cs3
-rw-r--r--Ryujinx.HLE/FileSystem/RomFsProvider.cs7
3 files changed, 15 insertions, 21 deletions
diff --git a/Ryujinx.HLE/FileSystem/Content/ContentManager.cs b/Ryujinx.HLE/FileSystem/Content/ContentManager.cs
index a20157ce..94f06475 100644
--- a/Ryujinx.HLE/FileSystem/Content/ContentManager.cs
+++ b/Ryujinx.HLE/FileSystem/Content/ContentManager.cs
@@ -1,4 +1,5 @@
using LibHac;
+using LibHac.IO;
using Ryujinx.HLE.Utilities;
using System;
using System.Collections.Generic;
@@ -73,7 +74,7 @@ namespace Ryujinx.HLE.FileSystem.Content
using (FileStream ncaFile = new FileStream(Directory.GetFiles(directoryPath)[0], FileMode.Open, FileAccess.Read))
{
- Nca nca = new Nca(_device.System.KeySet, ncaFile, false);
+ Nca nca = new Nca(_device.System.KeySet, ncaFile.AsStorage(), false);
string switchPath = Path.Combine(contentPathString + ":",
ncaFile.Name.Replace(contentDirectory, string.Empty).TrimStart('\\'));
@@ -89,10 +90,6 @@ namespace Ryujinx.HLE.FileSystem.Content
AddEntry(entry);
_contentDictionary.Add((nca.Header.TitleId, nca.Header.ContentType), ncaName);
-
- ncaFile.Close();
- nca.Dispose();
- ncaFile.Dispose();
}
}
}
@@ -105,7 +102,7 @@ namespace Ryujinx.HLE.FileSystem.Content
using (FileStream ncaFile = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
- Nca nca = new Nca(_device.System.KeySet, ncaFile, false);
+ Nca nca = new Nca(_device.System.KeySet, ncaFile.AsStorage(), false);
string switchPath = Path.Combine(contentPathString + ":",
filePath.Replace(contentDirectory, string.Empty).TrimStart('\\'));
@@ -121,10 +118,6 @@ namespace Ryujinx.HLE.FileSystem.Content
AddEntry(entry);
_contentDictionary.Add((nca.Header.TitleId, nca.Header.ContentType), ncaName);
-
- ncaFile.Close();
- nca.Dispose();
- ncaFile.Dispose();
}
}
}
@@ -235,14 +228,13 @@ namespace Ryujinx.HLE.FileSystem.Content
{
if (File.Exists(installedPath))
{
- FileStream file = new FileStream(installedPath, FileMode.Open, FileAccess.Read);
- Nca nca = new Nca(_device.System.KeySet, file, false);
- bool contentCheck = nca.Header.ContentType == contentType;
-
- nca.Dispose();
- file.Dispose();
+ using (FileStream file = new FileStream(installedPath, FileMode.Open, FileAccess.Read))
+ {
+ Nca nca = new Nca(_device.System.KeySet, file.AsStorage(), false);
+ bool contentCheck = nca.Header.ContentType == contentType;
- return contentCheck;
+ return contentCheck;
+ }
}
}
diff --git a/Ryujinx.HLE/FileSystem/PFsProvider.cs b/Ryujinx.HLE/FileSystem/PFsProvider.cs
index 71757669..fdddc9b0 100644
--- a/Ryujinx.HLE/FileSystem/PFsProvider.cs
+++ b/Ryujinx.HLE/FileSystem/PFsProvider.cs
@@ -1,4 +1,5 @@
using LibHac;
+using LibHac.IO;
using Ryujinx.HLE.HOS;
using Ryujinx.HLE.HOS.Services.FspSrv;
using System;
@@ -117,7 +118,7 @@ namespace Ryujinx.HLE.FileSystem
if (_pfs.FileExists(name))
{
- Stream stream = _pfs.OpenFile(name);
+ Stream stream = _pfs.OpenFile(name).AsStream();
fileInterface = new IFile(stream, name);
return 0;
diff --git a/Ryujinx.HLE/FileSystem/RomFsProvider.cs b/Ryujinx.HLE/FileSystem/RomFsProvider.cs
index f6a2f82f..86bf2348 100644
--- a/Ryujinx.HLE/FileSystem/RomFsProvider.cs
+++ b/Ryujinx.HLE/FileSystem/RomFsProvider.cs
@@ -1,4 +1,5 @@
using LibHac;
+using LibHac.IO;
using Ryujinx.HLE.HOS;
using Ryujinx.HLE.HOS.Services.FspSrv;
using System;
@@ -14,9 +15,9 @@ namespace Ryujinx.HLE.FileSystem
{
private Romfs _romFs;
- public RomFsProvider(Stream storageStream)
+ public RomFsProvider(LibHac.IO.IStorage storage)
{
- _romFs = new Romfs(storageStream);
+ _romFs = new Romfs(storage);
}
public long CreateDirectory(string name)
@@ -133,7 +134,7 @@ namespace Ryujinx.HLE.FileSystem
{
if (_romFs.FileExists(name))
{
- Stream stream = _romFs.OpenFile(name);
+ Stream stream = _romFs.OpenFile(name).AsStream();
fileInterface = new IFile(stream, name);