Expose GetInstalledFirmwareVersion

This commit is contained in:
Isaac Marovitz 2024-01-01 18:49:07 -08:00 committed by Emmanuel Hansen
parent b6b4b0cfb9
commit d0ddd7f2bc
2 changed files with 23 additions and 5 deletions

View File

@ -147,7 +147,7 @@ namespace LibRyujinx
Logger.Trace?.Print(LogClass.Application, "Jni Function Call"); Logger.Trace?.Print(LogClass.Application, "Jni Function Call");
SwitchDevice?.ReloadFileSystem(); SwitchDevice?.ReloadFileSystem();
} }
[UnmanagedCallersOnly(EntryPoint = "Java_org_ryujinx_android_RyujinxNative_deviceInitialize")] [UnmanagedCallersOnly(EntryPoint = "Java_org_ryujinx_android_RyujinxNative_deviceInitialize")]
public static JBoolean JniInitializeDeviceNative(JEnvRef jEnv, public static JBoolean JniInitializeDeviceNative(JEnvRef jEnv,
JObjectLocalRef jObj, JObjectLocalRef jObj,
@ -317,13 +317,12 @@ namespace LibRyujinx
{ {
Logger.Trace?.Print(LogClass.Application, "Jni Function Call"); Logger.Trace?.Print(LogClass.Application, "Jni Function Call");
var version = SwitchDevice?.ContentManager.GetCurrentFirmwareVersion(); var version = GetInstalledFirmwareVersion();
long stringHandle = -1; long stringHandle = -1;
if (version != null) if (version != String.Empty)
{ {
stringHandle = storeString(version.VersionString); stringHandle = storeString(version);
} }
return stringHandle; return stringHandle;

View File

@ -67,11 +67,30 @@ namespace LibRyujinx
return LoadApplication(path); return LoadApplication(path);
} }
[UnmanagedCallersOnly(EntryPoint = "device_get_installed_firmware_version")]
public static IntPtr GetInstalledFirmwareVersionNative()
{
var result = GetInstalledFirmwareVersion();
return Marshal.StringToHGlobalAnsi(result);
}
public static void InstallFirmware(Stream stream, bool isXci) public static void InstallFirmware(Stream stream, bool isXci)
{ {
SwitchDevice?.ContentManager.InstallFirmware(stream, isXci); SwitchDevice?.ContentManager.InstallFirmware(stream, isXci);
} }
public static string GetInstalledFirmwareVersion()
{
var version = SwitchDevice?.ContentManager.GetCurrentFirmwareVersion();
if (version != null)
{
return version.VersionString;
}
return String.Empty;
}
public static SystemVersion? VerifyFirmware(Stream stream, bool isXci) public static SystemVersion? VerifyFirmware(Stream stream, bool isXci)
{ {
return SwitchDevice?.ContentManager?.VerifyFirmwarePackage(stream, isXci) ?? null; return SwitchDevice?.ContentManager?.VerifyFirmwarePackage(stream, isXci) ?? null;