1+ using System . Runtime . InteropServices ;
2+ using System . Text ;
3+ using Lagrange . Core . Common ;
4+
5+ namespace Lagrange . Core . NativeAPI . NativeModel . Common
6+ {
7+ [ StructLayout ( LayoutKind . Sequential ) ]
8+ struct BotAppInfoStruct
9+ {
10+ public BotAppInfoStruct ( ) { }
11+
12+ public ByteArrayNative Os = new ( ) ;
13+
14+ public ByteArrayNative VendorOs = new ( ) ;
15+
16+ public ByteArrayNative Kernel = new ( ) ;
17+
18+ public ByteArrayNative CurrentVersion = new ( ) ;
19+
20+ public ByteArrayNative PtVersion = new ( ) ;
21+
22+ public int SsoVersion = 0 ;
23+
24+ public ByteArrayNative PackageName = new ( ) ;
25+
26+ public ByteArrayNative ApkSignatureMd5 = new ( ) ;
27+
28+ public WtLoginSdkInfoStruct SdkInfo = new ( ) ;
29+
30+ public int AppId = 0 ;
31+
32+ public int SubAppId = 0 ;
33+
34+ public ushort AppClientVersion = 0 ;
35+
36+ public static implicit operator BotAppInfo ( BotAppInfoStruct info )
37+ {
38+ return new BotAppInfo ( )
39+ {
40+ Os = Encoding . UTF8 . GetString ( info . Os . ToByteArrayWithoutFree ( ) ) ,
41+ VendorOs = Encoding . UTF8 . GetString ( info . VendorOs . ToByteArrayWithoutFree ( ) ) ,
42+ Kernel = Encoding . UTF8 . GetString ( info . Kernel . ToByteArrayWithoutFree ( ) ) ,
43+ CurrentVersion = Encoding . UTF8 . GetString ( info . CurrentVersion . ToByteArrayWithoutFree ( ) ) ,
44+ PtVersion = Encoding . UTF8 . GetString ( info . PtVersion . ToByteArrayWithoutFree ( ) ) ,
45+ SsoVersion = info . SsoVersion ,
46+ PackageName = Encoding . UTF8 . GetString ( info . PackageName . ToByteArrayWithoutFree ( ) ) ,
47+ ApkSignatureMd5 = info . ApkSignatureMd5 . ToByteArrayWithoutFree ( ) ,
48+ SdkInfo = info . SdkInfo ,
49+ AppId = info . AppId ,
50+ SubAppId = info . SubAppId ,
51+ AppClientVersion = info . AppClientVersion
52+ } ;
53+ }
54+
55+ public static implicit operator BotAppInfoStruct ( BotAppInfo info )
56+ {
57+ return new BotAppInfoStruct ( )
58+ {
59+ Os = Encoding . UTF8 . GetBytes ( info . Os ) ,
60+ VendorOs = Encoding . UTF8 . GetBytes ( info . VendorOs ) ,
61+ Kernel = Encoding . UTF8 . GetBytes ( info . Kernel ) ,
62+ CurrentVersion = Encoding . UTF8 . GetBytes ( info . CurrentVersion ) ,
63+ PtVersion = Encoding . UTF8 . GetBytes ( info . PtVersion ) ,
64+ SsoVersion = info . SsoVersion ,
65+ PackageName = Encoding . UTF8 . GetBytes ( info . PackageName ) ,
66+ ApkSignatureMd5 = info . ApkSignatureMd5 ,
67+ SdkInfo = info . SdkInfo ,
68+ AppId = info . AppId ,
69+ SubAppId = info . SubAppId ,
70+ AppClientVersion = info . AppClientVersion
71+ } ;
72+ }
73+ }
74+
75+ [ StructLayout ( LayoutKind . Sequential ) ]
76+ public struct WtLoginSdkInfoStruct
77+ {
78+ public WtLoginSdkInfoStruct ( ) { }
79+
80+ public uint SdkBuildTime = 0 ;
81+
82+ public ByteArrayNative SdkVersion = new ( ) ;
83+
84+ public uint MiscBitMap = 0 ;
85+
86+ public uint SubSigMap = 0 ;
87+
88+ public int MainSigMap = 0 ;
89+
90+ public static implicit operator WtLoginSdkInfo ( WtLoginSdkInfoStruct info )
91+ {
92+ return new WtLoginSdkInfo ( )
93+ {
94+ SdkBuildTime = info . SdkBuildTime ,
95+ SdkVersion = Encoding . UTF8 . GetString ( info . SdkVersion . ToByteArrayWithoutFree ( ) ) ,
96+ MiscBitMap = info . MiscBitMap ,
97+ SubSigMap = info . SubSigMap ,
98+ MainSigMap = ( Sig ) info . MainSigMap ,
99+ } ;
100+ }
101+
102+ public static implicit operator WtLoginSdkInfoStruct ( WtLoginSdkInfo info )
103+ {
104+ return new WtLoginSdkInfoStruct ( )
105+ {
106+ SdkBuildTime = info . SdkBuildTime ,
107+ SdkVersion = Encoding . UTF8 . GetBytes ( info . SdkVersion ) ,
108+ MiscBitMap = info . MiscBitMap ,
109+ SubSigMap = info . SubSigMap ,
110+ MainSigMap = ( int ) info . MainSigMap ,
111+ } ;
112+ }
113+ }
114+ }
0 commit comments