Files
2026-06-04 11:42:34 +02:00

759 lines
20 KiB
C#

using System;
using System.Runtime.InteropServices;
namespace Sony.NP
{
// Token: 0x020000B8 RID: 184
public class Presence
{
// Token: 0x060003A4 RID: 932
[DllImport("UnityNpToolkit2")]
private static extern int PrxDeletePresence(Presence.DeletePresenceRequest request, out APIResult result);
// Token: 0x060003A5 RID: 933
[DllImport("UnityNpToolkit2")]
private static extern int PrxSetPresence(Presence.SetPresenceRequest request, out APIResult result);
// Token: 0x060003A6 RID: 934
[DllImport("UnityNpToolkit2")]
private static extern int PrxGetPresence(Presence.GetPresenceRequest request, out APIResult result);
// Token: 0x060003A7 RID: 935 RVA: 0x0000B290 File Offset: 0x0000A290
public static int DeletePresence(Presence.DeletePresenceRequest request, Core.EmptyResponse response)
{
if (response.locked)
{
throw new NpToolkitException("Response object is already locked");
}
APIResult apiresult;
int num = Presence.PrxDeletePresence(request, out apiresult);
if (apiresult.RaiseException)
{
throw new NpToolkitException(apiresult);
}
RequestBase.FinaliseRequest(request, response, num);
return num;
}
// Token: 0x060003A8 RID: 936 RVA: 0x0000B2E4 File Offset: 0x0000A2E4
public static int SetPresence(Presence.SetPresenceRequest request, Core.EmptyResponse response)
{
if (response.locked)
{
throw new NpToolkitException("Response object is already locked");
}
APIResult apiresult;
int num = Presence.PrxSetPresence(request, out apiresult);
if (apiresult.RaiseException)
{
throw new NpToolkitException(apiresult);
}
RequestBase.FinaliseRequest(request, response, num);
return num;
}
// Token: 0x060003A9 RID: 937 RVA: 0x0000B338 File Offset: 0x0000A338
public static int GetPresence(Presence.GetPresenceRequest request, Presence.PresenceResponse response)
{
if (response.locked)
{
throw new NpToolkitException("Response object is already locked");
}
APIResult apiresult;
int num = Presence.PrxGetPresence(request, out apiresult);
if (apiresult.RaiseException)
{
throw new NpToolkitException(apiresult);
}
RequestBase.FinaliseRequest(request, response, num);
return num;
}
// Token: 0x020000B9 RID: 185
[StructLayout(LayoutKind.Sequential)]
public class DeletePresenceRequest : RequestBase
{
// Token: 0x170001A4 RID: 420
// (get) Token: 0x060003AB RID: 939 RVA: 0x0000B394 File Offset: 0x0000A394
public bool DeleteGameData
{
get
{
return this.deleteGameData;
}
}
// Token: 0x170001A5 RID: 421
// (get) Token: 0x060003AC RID: 940 RVA: 0x0000B3AC File Offset: 0x0000A3AC
public bool DeleteGameStatus
{
get
{
return this.deleteGameStatus;
}
}
// Token: 0x060003AD RID: 941 RVA: 0x0000B3C4 File Offset: 0x0000A3C4
public DeletePresenceRequest()
: base(ServiceTypes.Presence, FunctionTypes.PresenceDeletePresence)
{
this.deleteGameData = true;
this.deleteGameStatus = true;
}
// Token: 0x040002CB RID: 715
[MarshalAs(UnmanagedType.I1)]
internal bool deleteGameData;
// Token: 0x040002CC RID: 716
[MarshalAs(UnmanagedType.I1)]
internal bool deleteGameStatus;
}
// Token: 0x020000BA RID: 186
public struct LocalizedGameStatus
{
// Token: 0x170001A6 RID: 422
// (get) Token: 0x060003AE RID: 942 RVA: 0x0000B3E0 File Offset: 0x0000A3E0
// (set) Token: 0x060003AF RID: 943 RVA: 0x0000B405 File Offset: 0x0000A405
public Core.LanguageCode LanguageCode
{
get
{
return new Core.LanguageCode
{
code = this.languageCode
};
}
set
{
this.languageCode = value.code;
}
}
// Token: 0x170001A7 RID: 423
// (get) Token: 0x060003B0 RID: 944 RVA: 0x0000B414 File Offset: 0x0000A414
// (set) Token: 0x060003B1 RID: 945 RVA: 0x0000B42C File Offset: 0x0000A42C
public string GameStatus
{
get
{
return this.gameStatus;
}
set
{
if (value.Length > 96)
{
throw new NpToolkitException("The size of the game stutus string is more than " + 96 + " characters.");
}
this.gameStatus = value;
}
}
// Token: 0x040002CD RID: 717
public const int MAX_SIZE_LOCALIZED_GAME_STATUS = 96;
// Token: 0x040002CE RID: 718
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 6)]
internal string languageCode;
// Token: 0x040002CF RID: 719
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 97)]
internal string gameStatus;
}
// Token: 0x020000BB RID: 187
[StructLayout(LayoutKind.Sequential)]
public class SetPresenceRequest : RequestBase
{
// Token: 0x170001A8 RID: 424
// (get) Token: 0x060003B2 RID: 946 RVA: 0x0000B470 File Offset: 0x0000A470
// (set) Token: 0x060003B3 RID: 947 RVA: 0x0000B488 File Offset: 0x0000A488
public string DefaultGameStatus
{
get
{
return this.defaultGameStatus;
}
set
{
if (value.Length > 191)
{
throw new NpToolkitException("The size of the default game stutus string is more than " + 191 + " characters.");
}
this.defaultGameStatus = value;
}
}
// Token: 0x170001A9 RID: 425
// (get) Token: 0x060003B4 RID: 948 RVA: 0x0000B4D4 File Offset: 0x0000A4D4
// (set) Token: 0x060003B5 RID: 949 RVA: 0x0000B51C File Offset: 0x0000A51C
public Presence.LocalizedGameStatus[] LocalizedGameStatuses
{
get
{
Presence.LocalizedGameStatus[] array;
if (this.numLocalizedGameStatuses == 0U)
{
array = null;
}
else
{
Presence.LocalizedGameStatus[] array2 = new Presence.LocalizedGameStatus[this.numLocalizedGameStatuses];
Array.Copy(this.localizedGameStatuses, array2, (long)((ulong)this.numLocalizedGameStatuses));
array = array2;
}
return array;
}
set
{
if (value != null)
{
if (value.Length > 50)
{
throw new NpToolkitException("The size of the localized game statuses array is more than " + 50);
}
value.CopyTo(this.localizedGameStatuses, 0);
this.numLocalizedGameStatuses = (uint)value.Length;
}
else
{
this.numLocalizedGameStatuses = 0U;
}
}
}
// Token: 0x170001AA RID: 426
// (get) Token: 0x060003B6 RID: 950 RVA: 0x0000B57C File Offset: 0x0000A57C
// (set) Token: 0x060003B7 RID: 951 RVA: 0x0000B5C4 File Offset: 0x0000A5C4
public byte[] BinaryGameData
{
get
{
byte[] array;
if (this.binaryGameData == null)
{
array = null;
}
else
{
byte[] array2 = new byte[this.binaryGameDataSize];
Array.Copy(this.binaryGameData, array2, (long)((ulong)this.binaryGameDataSize));
array = array2;
}
return array;
}
set
{
if (value != null)
{
if (value.Length > 128)
{
throw new NpToolkitException("The size of the binary game data is more than " + 128 + " bytes.");
}
value.CopyTo(this.binaryGameData, 0);
this.binaryGameDataSize = (uint)value.Length;
}
else
{
this.binaryGameDataSize = 0U;
}
}
}
// Token: 0x060003B8 RID: 952 RVA: 0x0000B630 File Offset: 0x0000A630
public SetPresenceRequest()
: base(ServiceTypes.Presence, FunctionTypes.PresenceSetPresence)
{
this.defaultGameStatus = "";
this.localizedGameStatuses = new Presence.LocalizedGameStatus[50];
this.numLocalizedGameStatuses = 0U;
this.binaryGameData = new byte[128];
this.binaryGameDataSize = 0U;
}
// Token: 0x040002D0 RID: 720
public const int MAX_LOCALIZED_STATUSES = 50;
// Token: 0x040002D1 RID: 721
public const int MAX_SIZE_GAME_DATA = 128;
// Token: 0x040002D2 RID: 722
public const int MAX_SIZE_DEFAULT_GAME_STATUS = 191;
// Token: 0x040002D3 RID: 723
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 191)]
internal string defaultGameStatus;
// Token: 0x040002D4 RID: 724
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 50)]
internal Presence.LocalizedGameStatus[] localizedGameStatuses;
// Token: 0x040002D5 RID: 725
internal uint numLocalizedGameStatuses;
// Token: 0x040002D6 RID: 726
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
internal byte[] binaryGameData;
// Token: 0x040002D7 RID: 727
internal uint binaryGameDataSize;
}
// Token: 0x020000BC RID: 188
[StructLayout(LayoutKind.Sequential)]
public class GetPresenceRequest : RequestBase
{
// Token: 0x170001AB RID: 427
// (get) Token: 0x060003B9 RID: 953 RVA: 0x0000B680 File Offset: 0x0000A680
// (set) Token: 0x060003BA RID: 954 RVA: 0x0000B698 File Offset: 0x0000A698
public Core.NpAccountId FromUser
{
get
{
return this.fromUser;
}
set
{
this.fromUser = value;
}
}
// Token: 0x170001AC RID: 428
// (get) Token: 0x060003BB RID: 955 RVA: 0x0000B6A4 File Offset: 0x0000A6A4
// (set) Token: 0x060003BC RID: 956 RVA: 0x0000B6BC File Offset: 0x0000A6BC
public bool InContext
{
get
{
return this.inContext;
}
set
{
this.inContext = value;
}
}
// Token: 0x060003BD RID: 957 RVA: 0x0000B6C6 File Offset: 0x0000A6C6
public GetPresenceRequest()
: base(ServiceTypes.Presence, FunctionTypes.PresenceGetPresence)
{
this.fromUser.id = 0UL;
this.inContext = true;
}
// Token: 0x040002D8 RID: 728
internal Core.NpAccountId fromUser;
// Token: 0x040002D9 RID: 729
internal bool inContext;
}
// Token: 0x020000BD RID: 189
public class PlatformPresence
{
// Token: 0x170001AD RID: 429
// (get) Token: 0x060003BE RID: 958 RVA: 0x0000B6E8 File Offset: 0x0000A6E8
public Core.OnlineStatus OnlineStatusOnPlatform
{
get
{
return this.onlineStatusOnPlatform;
}
}
// Token: 0x170001AE RID: 430
// (get) Token: 0x060003BF RID: 959 RVA: 0x0000B700 File Offset: 0x0000A700
public Core.PlatformType Platform
{
get
{
return this.platform;
}
}
// Token: 0x170001AF RID: 431
// (get) Token: 0x060003C0 RID: 960 RVA: 0x0000B718 File Offset: 0x0000A718
public Core.TitleId TitleId
{
get
{
return this.titleId;
}
}
// Token: 0x170001B0 RID: 432
// (get) Token: 0x060003C1 RID: 961 RVA: 0x0000B730 File Offset: 0x0000A730
public string TitleName
{
get
{
return this.titleName;
}
}
// Token: 0x170001B1 RID: 433
// (get) Token: 0x060003C2 RID: 962 RVA: 0x0000B748 File Offset: 0x0000A748
public string GameStatus
{
get
{
return this.gameStatus;
}
}
// Token: 0x170001B2 RID: 434
// (get) Token: 0x060003C3 RID: 963 RVA: 0x0000B760 File Offset: 0x0000A760
public byte[] BinaryGameData
{
get
{
return this.binaryGameData;
}
}
// Token: 0x060003C4 RID: 964 RVA: 0x0000B778 File Offset: 0x0000A778
internal void Read(MemoryBuffer buffer)
{
buffer.CheckMarker(MemoryBuffer.BufferIntegrityChecks.PlatformPresenceBegin);
this.onlineStatusOnPlatform = (Core.OnlineStatus)buffer.ReadUInt32();
this.platform = (Core.PlatformType)buffer.ReadUInt32();
this.titleId.Read(buffer);
buffer.ReadString(ref this.titleName);
buffer.ReadString(ref this.gameStatus);
buffer.ReadData(ref this.binaryGameData);
buffer.CheckMarker(MemoryBuffer.BufferIntegrityChecks.PlatformPresenceEnd);
}
// Token: 0x060003C5 RID: 965 RVA: 0x0000B7E4 File Offset: 0x0000A7E4
public override string ToString()
{
string text = "";
return text + string.Format("\n: Platform Presence : OS ({0}) Platform ({1}) TitleId ({2}) ", new object[]
{
this.onlineStatusOnPlatform,
this.platform,
this.titleId.ToString(),
this.titleName
});
}
// Token: 0x040002DA RID: 730
public const int MAX_SIZE_TITLE_NAME = 127;
// Token: 0x040002DB RID: 731
public const int MAX_SIZE_GAME_STATUS = 191;
// Token: 0x040002DC RID: 732
public const int MAX_SIZE_GAME_DATA = 128;
// Token: 0x040002DD RID: 733
internal Core.OnlineStatus onlineStatusOnPlatform;
// Token: 0x040002DE RID: 734
internal Core.PlatformType platform;
// Token: 0x040002DF RID: 735
internal Core.TitleId titleId = new Core.TitleId();
// Token: 0x040002E0 RID: 736
internal string titleName = "";
// Token: 0x040002E1 RID: 737
internal string gameStatus = "";
// Token: 0x040002E2 RID: 738
internal byte[] binaryGameData;
}
// Token: 0x020000BE RID: 190
public class UserPresence
{
// Token: 0x170001B3 RID: 435
// (get) Token: 0x060003C7 RID: 967 RVA: 0x0000B874 File Offset: 0x0000A874
public Core.OnlineUser User
{
get
{
return this.user;
}
}
// Token: 0x170001B4 RID: 436
// (get) Token: 0x060003C8 RID: 968 RVA: 0x0000B88C File Offset: 0x0000A88C
public Core.OnlineStatus PsnOnlineStatus
{
get
{
return this.psnOnlineStatus;
}
}
// Token: 0x170001B5 RID: 437
// (get) Token: 0x060003C9 RID: 969 RVA: 0x0000B8A4 File Offset: 0x0000A8A4
public Core.PlatformType MostRelevantPlatform
{
get
{
return this.mostRelevantPlatform;
}
}
// Token: 0x170001B6 RID: 438
// (get) Token: 0x060003CA RID: 970 RVA: 0x0000B8BC File Offset: 0x0000A8BC
public Presence.PlatformPresence[] Platforms
{
get
{
return this.platforms;
}
}
// Token: 0x060003CB RID: 971 RVA: 0x0000B8D4 File Offset: 0x0000A8D4
internal UserPresence()
{
}
// Token: 0x060003CC RID: 972 RVA: 0x0000B8EC File Offset: 0x0000A8EC
internal void Read(MemoryBuffer buffer)
{
buffer.CheckMarker(MemoryBuffer.BufferIntegrityChecks.PresenceBegin);
this.user.Read(buffer);
this.psnOnlineStatus = (Core.OnlineStatus)buffer.ReadUInt32();
this.mostRelevantPlatform = (Core.PlatformType)buffer.ReadUInt32();
uint num = buffer.ReadUInt32();
if (num == 0U)
{
this.platforms = null;
}
else
{
this.platforms = new Presence.PlatformPresence[num];
int num2 = 0;
while ((long)num2 < (long)((ulong)num))
{
this.platforms[num2] = new Presence.PlatformPresence();
this.platforms[num2].Read(buffer);
num2++;
}
}
buffer.CheckMarker(MemoryBuffer.BufferIntegrityChecks.PresenceEnd);
}
// Token: 0x060003CD RID: 973 RVA: 0x0000B990 File Offset: 0x0000A990
public override string ToString()
{
string text = "";
int num = 0;
if (this.platforms != null)
{
num = this.platforms.Length;
}
text += string.Format("0x{0:X} : {1} : PSN OS ({2}) MRP ({3}) #P ({4})'\n", new object[]
{
this.User.accountId,
this.User.onlineId.name,
this.PsnOnlineStatus,
this.MostRelevantPlatform,
num
});
for (int i = 0; i < num; i++)
{
text = text + this.Platforms[i].ToString() + "\n";
}
return text;
}
// Token: 0x040002E3 RID: 739
public const int MAX_NUM_PLATFORM_PRESENCE = 3;
// Token: 0x040002E4 RID: 740
internal Core.OnlineUser user = new Core.OnlineUser();
// Token: 0x040002E5 RID: 741
internal Core.OnlineStatus psnOnlineStatus;
// Token: 0x040002E6 RID: 742
internal Core.PlatformType mostRelevantPlatform;
// Token: 0x040002E7 RID: 743
internal Presence.PlatformPresence[] platforms;
}
// Token: 0x020000BF RID: 191
public class PresenceResponse : ResponseBase
{
// Token: 0x170001B7 RID: 439
// (get) Token: 0x060003CE RID: 974 RVA: 0x0000BA5C File Offset: 0x0000AA5C
public Presence.UserPresence UserPresence
{
get
{
return this.userPresence;
}
}
// Token: 0x060003CF RID: 975 RVA: 0x0000BA74 File Offset: 0x0000AA74
protected internal override void ReadResult(uint id, FunctionTypes apiCalled, RequestBase request)
{
base.ReadResult(id, apiCalled, request);
APIResult apiresult;
MemoryBuffer memoryBuffer = base.BeginReadResponseBuffer(id, apiCalled, out apiresult);
if (apiresult.RaiseException)
{
throw new NpToolkitException(apiresult);
}
this.userPresence.Read(memoryBuffer);
base.EndReadResponseBuffer(memoryBuffer);
}
// Token: 0x040002E8 RID: 744
internal Presence.UserPresence userPresence = new Presence.UserPresence();
}
// Token: 0x020000C0 RID: 192
public enum PresenceUpdateType
{
// Token: 0x040002EA RID: 746
invalid,
// Token: 0x040002EB RID: 747
gameTitle,
// Token: 0x040002EC RID: 748
gameStatus,
// Token: 0x040002ED RID: 749
gameData
}
// Token: 0x020000C1 RID: 193
public class PresenceUpdateResponse : ResponseBase
{
// Token: 0x170001B8 RID: 440
// (get) Token: 0x060003D1 RID: 977 RVA: 0x0000BAD8 File Offset: 0x0000AAD8
public Core.OnlineUser LocalUpdatedUser
{
get
{
return this.localUpdatedUser;
}
}
// Token: 0x170001B9 RID: 441
// (get) Token: 0x060003D2 RID: 978 RVA: 0x0000BAF0 File Offset: 0x0000AAF0
public Core.OnlineUser RemoteUser
{
get
{
return this.remoteUser;
}
}
// Token: 0x170001BA RID: 442
// (get) Token: 0x060003D3 RID: 979 RVA: 0x0000BB08 File Offset: 0x0000AB08
public Core.UserServiceUserId UserId
{
get
{
return this.userId;
}
}
// Token: 0x170001BB RID: 443
// (get) Token: 0x060003D4 RID: 980 RVA: 0x0000BB20 File Offset: 0x0000AB20
public Presence.PresenceUpdateType UpdateType
{
get
{
return this.updateType;
}
}
// Token: 0x170001BC RID: 444
// (get) Token: 0x060003D5 RID: 981 RVA: 0x0000BB38 File Offset: 0x0000AB38
public string GameStatus
{
get
{
if (this.updateType != Presence.PresenceUpdateType.gameStatus)
{
throw new NpToolkitException("GameStatus isn't valid unless 'UpdateType' is set to " + Presence.PresenceUpdateType.gameStatus);
}
return this.gameStatus;
}
}
// Token: 0x170001BD RID: 445
// (get) Token: 0x060003D6 RID: 982 RVA: 0x0000BB74 File Offset: 0x0000AB74
public byte[] BinaryGameData
{
get
{
if (this.updateType != Presence.PresenceUpdateType.gameData)
{
throw new NpToolkitException("BinaryGameData isn't valid unless 'UpdateType' is set to " + Presence.PresenceUpdateType.gameData);
}
return this.binaryGameData;
}
}
// Token: 0x170001BE RID: 446
// (get) Token: 0x060003D7 RID: 983 RVA: 0x0000BBB0 File Offset: 0x0000ABB0
public Core.PlatformType Platform
{
get
{
return this.platform;
}
}
// Token: 0x060003D8 RID: 984 RVA: 0x0000BBC8 File Offset: 0x0000ABC8
protected internal override void ReadResult(uint id, FunctionTypes apiCalled, RequestBase request)
{
base.ReadResult(id, apiCalled, request);
APIResult apiresult;
MemoryBuffer memoryBuffer = base.BeginReadResponseBuffer(id, apiCalled, out apiresult);
if (apiresult.RaiseException)
{
throw new NpToolkitException(apiresult);
}
memoryBuffer.CheckMarker(MemoryBuffer.BufferIntegrityChecks.PresenceUpdateBegin);
this.localUpdatedUser.Read(memoryBuffer);
this.remoteUser.Read(memoryBuffer);
this.userId = memoryBuffer.ReadInt32();
this.updateType = (Presence.PresenceUpdateType)memoryBuffer.ReadInt32();
memoryBuffer.ReadString(ref this.gameStatus);
memoryBuffer.ReadData(ref this.binaryGameData);
this.platform = (Core.PlatformType)memoryBuffer.ReadInt32();
memoryBuffer.CheckMarker(MemoryBuffer.BufferIntegrityChecks.PresenceUpdateEnd);
base.EndReadResponseBuffer(memoryBuffer);
}
// Token: 0x040002EE RID: 750
public const int MAX_SIZE_GAME_STATUS = 191;
// Token: 0x040002EF RID: 751
public const int MAX_SIZE_GAME_DATA = 128;
// Token: 0x040002F0 RID: 752
internal Core.OnlineUser localUpdatedUser = new Core.OnlineUser();
// Token: 0x040002F1 RID: 753
internal Core.OnlineUser remoteUser = new Core.OnlineUser();
// Token: 0x040002F2 RID: 754
internal Core.UserServiceUserId userId;
// Token: 0x040002F3 RID: 755
internal Presence.PresenceUpdateType updateType;
// Token: 0x040002F4 RID: 756
internal string gameStatus = "";
// Token: 0x040002F5 RID: 757
internal byte[] binaryGameData;
// Token: 0x040002F6 RID: 758
internal Core.PlatformType platform;
}
}
}