This repository has been archived on 2025-08-26. You can view files and clone it, but cannot push or open issues or pull requests.
Files
enginex-mr_series-sherpa-onnx/scripts/dotnet/VersionInfo.cs
2025-06-25 00:22:21 +08:00

121 lines
2.7 KiB
C#

/// Copyright (c) 2025 Xiaomi Corporation (authors: Fangjun Kuang)
using System;
using System.Runtime.InteropServices;
using System.Text;
namespace SherpaOnnx
{
public class VersionInfo
{
public static String Version
{
get
{
IntPtr p = SherpaOnnxGetVersionStr();
string s = "";
int length = 0;
unsafe
{
byte* b = (byte*)p;
if (b != null)
{
while (*b != 0)
{
++b;
length += 1;
}
}
}
if (length > 0)
{
byte[] stringBuffer = new byte[length];
Marshal.Copy(p, stringBuffer, 0, length);
s = Encoding.UTF8.GetString(stringBuffer);
}
return s;
}
}
public static String GitSha1
{
get
{
IntPtr p = SherpaOnnxGetGitSha1();
string s = "";
int length = 0;
unsafe
{
byte* b = (byte*)p;
if (b != null)
{
while (*b != 0)
{
++b;
length += 1;
}
}
}
if (length > 0)
{
byte[] stringBuffer = new byte[length];
Marshal.Copy(p, stringBuffer, 0, length);
s = Encoding.UTF8.GetString(stringBuffer);
}
return s;
}
}
public static String GitDate
{
get
{
IntPtr p = SherpaOnnxGetGitDate();
string s = "";
int length = 0;
unsafe
{
byte* b = (byte*)p;
if (b != null)
{
while (*b != 0)
{
++b;
length += 1;
}
}
}
if (length > 0)
{
byte[] stringBuffer = new byte[length];
Marshal.Copy(p, stringBuffer, 0, length);
s = Encoding.UTF8.GetString(stringBuffer);
}
return s;
}
}
[DllImport(Dll.Filename)]
private static extern IntPtr SherpaOnnxGetVersionStr();
[DllImport(Dll.Filename)]
private static extern IntPtr SherpaOnnxGetGitSha1();
[DllImport(Dll.Filename)]
private static extern IntPtr SherpaOnnxGetGitDate();
}
}