From 290f5e812e68e47d95aba0cc3789a4bc6d04c7ce Mon Sep 17 00:00:00 2001
From: Alex Barney <thealexbarney@gmail.com>
Date: Fri, 4 Jan 2019 17:41:49 -0700
Subject: Update to LibHac 0.2.0 (#549)

* Update to LibHac 0.2.0

* Changes based on feedback
---
 Ryujinx.HLE/FileSystem/Content/ContentManager.cs | 26 ++++++++----------------
 1 file changed, 9 insertions(+), 17 deletions(-)

(limited to 'Ryujinx.HLE/FileSystem/Content/ContentManager.cs')

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;
+                    }
                 }
             }
 
-- 
cgit v1.2.3-70-g09d2