aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/HOS/Applets/Browser
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Applets/Browser')
-rw-r--r--src/Ryujinx.HLE/HOS/Applets/Browser/BootDisplayKind.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Applets/Browser/BrowserApplet.cs53
-rw-r--r--src/Ryujinx.HLE/HOS/Applets/Browser/BrowserArgument.cs16
-rw-r--r--src/Ryujinx.HLE/HOS/Applets/Browser/BrowserOutput.cs12
-rw-r--r--src/Ryujinx.HLE/HOS/Applets/Browser/BrowserOutputType.cs16
-rw-r--r--src/Ryujinx.HLE/HOS/Applets/Browser/DocumentKind.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Applets/Browser/LeftStickMode.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Applets/Browser/ShimKind.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Applets/Browser/WebArgHeader.cs4
-rw-r--r--src/Ryujinx.HLE/HOS/Applets/Browser/WebArgTLV.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Applets/Browser/WebArgTLVType.cs110
-rw-r--r--src/Ryujinx.HLE/HOS/Applets/Browser/WebCommonReturnValue.cs4
-rw-r--r--src/Ryujinx.HLE/HOS/Applets/Browser/WebExitReason.cs2
13 files changed, 111 insertions, 116 deletions
diff --git a/src/Ryujinx.HLE/HOS/Applets/Browser/BootDisplayKind.cs b/src/Ryujinx.HLE/HOS/Applets/Browser/BootDisplayKind.cs
index fe6e6040..11c1cb91 100644
--- a/src/Ryujinx.HLE/HOS/Applets/Browser/BootDisplayKind.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/Browser/BootDisplayKind.cs
@@ -6,6 +6,6 @@
Offline,
Black,
Share,
- Lobby
+ Lobby,
}
}
diff --git a/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserApplet.cs b/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserApplet.cs
index 952afcd5..f50e6448 100644
--- a/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserApplet.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserApplet.cs
@@ -13,13 +13,12 @@ namespace Ryujinx.HLE.HOS.Applets.Browser
public event EventHandler AppletStateChanged;
private AppletSession _normalSession;
- private AppletSession _interactiveSession;
private CommonArguments _commonArguments;
private List<BrowserArgument> _arguments;
private ShimKind _shimKind;
- public BrowserApplet(Horizon system) {}
+ public BrowserApplet(Horizon system) { }
public ResultCode GetResult()
{
@@ -29,7 +28,6 @@ namespace Ryujinx.HLE.HOS.Applets.Browser
public ResultCode Start(AppletSession normalSession, AppletSession interactiveSession)
{
_normalSession = normalSession;
- _interactiveSession = interactiveSession;
_commonArguments = IApplet.ReadStruct<CommonArguments>(_normalSession.Pop());
@@ -48,17 +46,18 @@ namespace Ryujinx.HLE.HOS.Applets.Browser
if ((_commonArguments.AppletVersion >= 0x80000 && _shimKind == ShimKind.Web) || (_commonArguments.AppletVersion >= 0x30000 && _shimKind == ShimKind.Share))
{
- List<BrowserOutput> result = new List<BrowserOutput>();
-
- result.Add(new BrowserOutput(BrowserOutputType.ExitReason, (uint)WebExitReason.ExitButton));
+ List<BrowserOutput> result = new()
+ {
+ new BrowserOutput(BrowserOutputType.ExitReason, (uint)WebExitReason.ExitButton),
+ };
_normalSession.Push(BuildResponseNew(result));
}
else
{
- WebCommonReturnValue result = new WebCommonReturnValue()
+ WebCommonReturnValue result = new()
{
- ExitReason = WebExitReason.ExitButton,
+ ExitReason = WebExitReason.ExitButton,
};
_normalSession.Push(BuildResponseOld(result));
@@ -69,36 +68,32 @@ namespace Ryujinx.HLE.HOS.Applets.Browser
return ResultCode.Success;
}
- private byte[] BuildResponseOld(WebCommonReturnValue result)
+ private static byte[] BuildResponseOld(WebCommonReturnValue result)
{
- using (MemoryStream stream = MemoryStreamManager.Shared.GetStream())
- using (BinaryWriter writer = new BinaryWriter(stream))
- {
- writer.WriteStruct(result);
+ using MemoryStream stream = MemoryStreamManager.Shared.GetStream();
+ using BinaryWriter writer = new(stream);
+ writer.WriteStruct(result);
- return stream.ToArray();
- }
+ return stream.ToArray();
}
private byte[] BuildResponseNew(List<BrowserOutput> outputArguments)
{
- using (MemoryStream stream = MemoryStreamManager.Shared.GetStream())
- using (BinaryWriter writer = new BinaryWriter(stream))
+ using MemoryStream stream = MemoryStreamManager.Shared.GetStream();
+ using BinaryWriter writer = new(stream);
+ writer.WriteStruct(new WebArgHeader
{
- writer.WriteStruct(new WebArgHeader
- {
- Count = (ushort)outputArguments.Count,
- ShimKind = _shimKind
- });
+ Count = (ushort)outputArguments.Count,
+ ShimKind = _shimKind,
+ });
- foreach (BrowserOutput output in outputArguments)
- {
- output.Write(writer);
- }
+ foreach (BrowserOutput output in outputArguments)
+ {
+ output.Write(writer);
+ }
- writer.Write(new byte[0x2000 - writer.BaseStream.Position]);
+ writer.Write(new byte[0x2000 - writer.BaseStream.Position]);
- return stream.ToArray();
- }
+ return stream.ToArray();
}
}
}
diff --git a/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserArgument.cs b/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserArgument.cs
index 17fd4089..708781bf 100644
--- a/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserArgument.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserArgument.cs
@@ -8,16 +8,16 @@ namespace Ryujinx.HLE.HOS.Applets.Browser
{
class BrowserArgument
{
- public WebArgTLVType Type { get; }
- public byte[] Value { get; }
+ public WebArgTLVType Type { get; }
+ public byte[] Value { get; }
public BrowserArgument(WebArgTLVType type, byte[] value)
{
- Type = type;
+ Type = type;
Value = value;
}
- private static readonly Dictionary<WebArgTLVType, Type> _typeRegistry = new Dictionary<WebArgTLVType, Type>
+ private static readonly Dictionary<WebArgTLVType, Type> _typeRegistry = new()
{
{ WebArgTLVType.InitialURL, typeof(string) },
{ WebArgTLVType.CallbackUrl, typeof(string) },
@@ -64,11 +64,11 @@ namespace Ryujinx.HLE.HOS.Applets.Browser
public static (ShimKind, List<BrowserArgument>) ParseArguments(ReadOnlySpan<byte> data)
{
- List<BrowserArgument> browserArguments = new List<BrowserArgument>();
+ List<BrowserArgument> browserArguments = new();
- WebArgHeader header = IApplet.ReadStruct<WebArgHeader>(data.Slice(0, 8));
+ WebArgHeader header = IApplet.ReadStruct<WebArgHeader>(data[..8]);
- ReadOnlySpan<byte> rawTLVs = data.Slice(8);
+ ReadOnlySpan<byte> rawTLVs = data[8..];
for (int i = 0; i < header.Count; i++)
{
@@ -77,7 +77,7 @@ namespace Ryujinx.HLE.HOS.Applets.Browser
browserArguments.Add(new BrowserArgument((WebArgTLVType)tlv.Type, tlvData.ToArray()));
- rawTLVs = rawTLVs.Slice(Unsafe.SizeOf<WebArgTLV>() + tlv.Size);
+ rawTLVs = rawTLVs[(Unsafe.SizeOf<WebArgTLV>() + tlv.Size)..];
}
return (header.ShimKind, browserArguments);
diff --git a/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserOutput.cs b/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserOutput.cs
index 0b368262..443886fd 100644
--- a/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserOutput.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserOutput.cs
@@ -11,25 +11,25 @@ namespace Ryujinx.HLE.HOS.Applets.Browser
public BrowserOutput(BrowserOutputType type, byte[] value)
{
- Type = type;
+ Type = type;
Value = value;
}
public BrowserOutput(BrowserOutputType type, uint value)
{
- Type = type;
- Value = BitConverter.GetBytes(value);
+ Type = type;
+ Value = BitConverter.GetBytes(value);
}
public BrowserOutput(BrowserOutputType type, ulong value)
{
- Type = type;
+ Type = type;
Value = BitConverter.GetBytes(value);
}
public BrowserOutput(BrowserOutputType type, bool value)
{
- Type = type;
+ Type = type;
Value = BitConverter.GetBytes(value);
}
@@ -38,7 +38,7 @@ namespace Ryujinx.HLE.HOS.Applets.Browser
writer.WriteStruct(new WebArgTLV
{
Type = (ushort)Type,
- Size = (ushort)Value.Length
+ Size = (ushort)Value.Length,
});
writer.Write(Value);
diff --git a/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserOutputType.cs b/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserOutputType.cs
index 209ae8ae..7f85bc81 100644
--- a/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserOutputType.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/Browser/BrowserOutputType.cs
@@ -2,13 +2,13 @@
{
enum BrowserOutputType : ushort
{
- ExitReason = 0x1,
- LastUrl = 0x2,
- LastUrlSize = 0x3,
- SharePostResult = 0x4,
- PostServiceName = 0x5,
- PostServiceNameSize = 0x6,
- PostId = 0x7,
- MediaPlayerAutoClosedByCompletion = 0x8
+ ExitReason = 0x1,
+ LastUrl = 0x2,
+ LastUrlSize = 0x3,
+ SharePostResult = 0x4,
+ PostServiceName = 0x5,
+ PostServiceNameSize = 0x6,
+ PostId = 0x7,
+ MediaPlayerAutoClosedByCompletion = 0x8,
}
}
diff --git a/src/Ryujinx.HLE/HOS/Applets/Browser/DocumentKind.cs b/src/Ryujinx.HLE/HOS/Applets/Browser/DocumentKind.cs
index 385bcdd0..9d355cd7 100644
--- a/src/Ryujinx.HLE/HOS/Applets/Browser/DocumentKind.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/Browser/DocumentKind.cs
@@ -4,6 +4,6 @@
{
OfflineHtmlPage = 1,
ApplicationLegalInformation,
- SystemDataPage
+ SystemDataPage,
}
}
diff --git a/src/Ryujinx.HLE/HOS/Applets/Browser/LeftStickMode.cs b/src/Ryujinx.HLE/HOS/Applets/Browser/LeftStickMode.cs
index 917549d2..50ad7b8b 100644
--- a/src/Ryujinx.HLE/HOS/Applets/Browser/LeftStickMode.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/Browser/LeftStickMode.cs
@@ -3,6 +3,6 @@
enum LeftStickMode
{
Pointer = 0,
- Cursor
+ Cursor,
}
}
diff --git a/src/Ryujinx.HLE/HOS/Applets/Browser/ShimKind.cs b/src/Ryujinx.HLE/HOS/Applets/Browser/ShimKind.cs
index ca2ef32f..f097d1f4 100644
--- a/src/Ryujinx.HLE/HOS/Applets/Browser/ShimKind.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/Browser/ShimKind.cs
@@ -8,6 +8,6 @@
Share,
Web,
Wifi,
- Lobby
+ Lobby,
}
}
diff --git a/src/Ryujinx.HLE/HOS/Applets/Browser/WebArgHeader.cs b/src/Ryujinx.HLE/HOS/Applets/Browser/WebArgHeader.cs
index c5e19f6c..c3cc711e 100644
--- a/src/Ryujinx.HLE/HOS/Applets/Browser/WebArgHeader.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/Browser/WebArgHeader.cs
@@ -2,8 +2,8 @@
{
public struct WebArgHeader
{
- public ushort Count;
- public ushort Padding;
+ public ushort Count;
+ public ushort Padding;
public ShimKind ShimKind;
}
}
diff --git a/src/Ryujinx.HLE/HOS/Applets/Browser/WebArgTLV.cs b/src/Ryujinx.HLE/HOS/Applets/Browser/WebArgTLV.cs
index f6c1e5ae..1b5510a5 100644
--- a/src/Ryujinx.HLE/HOS/Applets/Browser/WebArgTLV.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/Browser/WebArgTLV.cs
@@ -4,6 +4,6 @@
{
public ushort Type;
public ushort Size;
- public uint Padding;
+ public uint Padding;
}
}
diff --git a/src/Ryujinx.HLE/HOS/Applets/Browser/WebArgTLVType.cs b/src/Ryujinx.HLE/HOS/Applets/Browser/WebArgTLVType.cs
index bd303207..57513833 100644
--- a/src/Ryujinx.HLE/HOS/Applets/Browser/WebArgTLVType.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/Browser/WebArgTLVType.cs
@@ -2,61 +2,61 @@
{
enum WebArgTLVType : ushort
{
- InitialURL = 0x1,
- CallbackUrl = 0x3,
- CallbackableUrl = 0x4,
- ApplicationId = 0x5,
- DocumentPath = 0x6,
- DocumentKind = 0x7,
- SystemDataId = 0x8,
- ShareStartPage = 0x9,
- Whitelist = 0xA,
- NewsFlag = 0xB,
- UserID = 0xE,
- AlbumEntry0 = 0xF,
- ScreenShotEnabled = 0x10,
- EcClientCertEnabled = 0x11,
- PlayReportEnabled = 0x13,
- UnknownFlag0x14 = 0x14,
- UnknownFlag0x15 = 0x15,
- BootDisplayKind = 0x17,
- BackgroundKind = 0x18,
- FooterEnabled = 0x19,
- PointerEnabled = 0x1A,
- LeftStickMode = 0x1B,
- KeyRepeatFrame1 = 0x1C,
- KeyRepeatFrame2 = 0x1D,
- BootAsMediaPlayerInverted = 0x1E,
- DisplayUrlKind = 0x1F,
- BootAsMediaPlayer = 0x21,
- ShopJumpEnabled = 0x22,
- MediaAutoPlayEnabled = 0x23,
- LobbyParameter = 0x24,
- ApplicationAlbumEntry = 0x26,
- JsExtensionEnabled = 0x27,
- AdditionalCommentText = 0x28,
- TouchEnabledOnContents = 0x29,
- UserAgentAdditionalString = 0x2A,
- AdditionalMediaData0 = 0x2B,
- MediaPlayerAutoCloseEnabled = 0x2C,
- PageCacheEnabled = 0x2D,
- WebAudioEnabled = 0x2E,
- FooterFixedKind = 0x32,
- PageFadeEnabled = 0x33,
+ InitialURL = 0x1,
+ CallbackUrl = 0x3,
+ CallbackableUrl = 0x4,
+ ApplicationId = 0x5,
+ DocumentPath = 0x6,
+ DocumentKind = 0x7,
+ SystemDataId = 0x8,
+ ShareStartPage = 0x9,
+ Whitelist = 0xA,
+ NewsFlag = 0xB,
+ UserID = 0xE,
+ AlbumEntry0 = 0xF,
+ ScreenShotEnabled = 0x10,
+ EcClientCertEnabled = 0x11,
+ PlayReportEnabled = 0x13,
+ UnknownFlag0x14 = 0x14,
+ UnknownFlag0x15 = 0x15,
+ BootDisplayKind = 0x17,
+ BackgroundKind = 0x18,
+ FooterEnabled = 0x19,
+ PointerEnabled = 0x1A,
+ LeftStickMode = 0x1B,
+ KeyRepeatFrame1 = 0x1C,
+ KeyRepeatFrame2 = 0x1D,
+ BootAsMediaPlayerInverted = 0x1E,
+ DisplayUrlKind = 0x1F,
+ BootAsMediaPlayer = 0x21,
+ ShopJumpEnabled = 0x22,
+ MediaAutoPlayEnabled = 0x23,
+ LobbyParameter = 0x24,
+ ApplicationAlbumEntry = 0x26,
+ JsExtensionEnabled = 0x27,
+ AdditionalCommentText = 0x28,
+ TouchEnabledOnContents = 0x29,
+ UserAgentAdditionalString = 0x2A,
+ AdditionalMediaData0 = 0x2B,
+ MediaPlayerAutoCloseEnabled = 0x2C,
+ PageCacheEnabled = 0x2D,
+ WebAudioEnabled = 0x2E,
+ FooterFixedKind = 0x32,
+ PageFadeEnabled = 0x33,
MediaCreatorApplicationRatingAge = 0x34,
- BootLoadingIconEnabled = 0x35,
- PageScrollIndicatorEnabled = 0x36,
- MediaPlayerSpeedControlEnabled = 0x37,
- AlbumEntry1 = 0x38,
- AlbumEntry2 = 0x39,
- AlbumEntry3 = 0x3A,
- AdditionalMediaData1 = 0x3B,
- AdditionalMediaData2 = 0x3C,
- AdditionalMediaData3 = 0x3D,
- BootFooterButton = 0x3E,
- OverrideWebAudioVolume = 0x3F,
- OverrideMediaAudioVolume = 0x40,
- BootMode = 0x41,
- MediaPlayerUiEnabled = 0x43
+ BootLoadingIconEnabled = 0x35,
+ PageScrollIndicatorEnabled = 0x36,
+ MediaPlayerSpeedControlEnabled = 0x37,
+ AlbumEntry1 = 0x38,
+ AlbumEntry2 = 0x39,
+ AlbumEntry3 = 0x3A,
+ AdditionalMediaData1 = 0x3B,
+ AdditionalMediaData2 = 0x3C,
+ AdditionalMediaData3 = 0x3D,
+ BootFooterButton = 0x3E,
+ OverrideWebAudioVolume = 0x3F,
+ OverrideMediaAudioVolume = 0x40,
+ BootMode = 0x41,
+ MediaPlayerUiEnabled = 0x43,
}
}
diff --git a/src/Ryujinx.HLE/HOS/Applets/Browser/WebCommonReturnValue.cs b/src/Ryujinx.HLE/HOS/Applets/Browser/WebCommonReturnValue.cs
index 9f7eae70..a1bdf0c7 100644
--- a/src/Ryujinx.HLE/HOS/Applets/Browser/WebCommonReturnValue.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/Browser/WebCommonReturnValue.cs
@@ -5,8 +5,8 @@ namespace Ryujinx.HLE.HOS.Applets.Browser
public struct WebCommonReturnValue
{
public WebExitReason ExitReason;
- public uint Padding;
+ public uint Padding;
public ByteArray4096 LastUrl;
- public ulong LastUrlSize;
+ public ulong LastUrlSize;
}
}
diff --git a/src/Ryujinx.HLE/HOS/Applets/Browser/WebExitReason.cs b/src/Ryujinx.HLE/HOS/Applets/Browser/WebExitReason.cs
index 4e44d34a..1959fc0b 100644
--- a/src/Ryujinx.HLE/HOS/Applets/Browser/WebExitReason.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/Browser/WebExitReason.cs
@@ -6,6 +6,6 @@
BackButton,
Requested,
LastUrl,
- ErrorDialog = 7
+ ErrorDialog = 7,
}
}