133 lines
6.1 KiB
C#
133 lines
6.1 KiB
C#
|
|
/*******************************************************************************
|
|||
|
|
Copyright © 2015-2022 PICO Technology Co., Ltd.All rights reserved.
|
|||
|
|
|
|||
|
|
NOTICE:All information contained herein is, and remains the property of
|
|||
|
|
PICO Technology Co., Ltd. The intellectual and technical concepts
|
|||
|
|
contained herein are proprietary to PICO Technology Co., Ltd. and may be
|
|||
|
|
covered by patents, patents in process, and are protected by trade secret or
|
|||
|
|
copyright law. Dissemination of this information or reproduction of this
|
|||
|
|
material is strictly forbidden unless prior written permission is obtained from
|
|||
|
|
PICO Technology Co., Ltd.
|
|||
|
|
*******************************************************************************/
|
|||
|
|
|
|||
|
|
using System;
|
|||
|
|
|
|||
|
|
namespace Pico.Platform.Models
|
|||
|
|
{
|
|||
|
|
/// <summary>App launch details.</summary>
|
|||
|
|
public class LaunchDetails
|
|||
|
|
{
|
|||
|
|
/// How the app was launched:
|
|||
|
|
/// * `Normal`: launched by clicking the app's icon
|
|||
|
|
/// * `RoomInvite`: launched by clicking the room invitation message card
|
|||
|
|
/// * `Deeplink`: launched by clicking the presence invitation message card or calling \ref ApplicationService.LaunchApp
|
|||
|
|
/// * `ChallengeInvite`: launched by clicking the challenge invitation message card
|
|||
|
|
///
|
|||
|
|
public readonly LaunchType LaunchType;
|
|||
|
|
|
|||
|
|
/// Deeplink message. You can pass a deeplink when you call \ref ApplicationService.LaunchApp,
|
|||
|
|
/// and the other app will receive the deeplink.This field will have a value only when `LaunchType` is `LaunchApp`.
|
|||
|
|
public readonly string DeeplinkMessage;
|
|||
|
|
|
|||
|
|
/// Destination API name configured on the PICO Developer Platform.For a presence invitation, the inviters'
|
|||
|
|
/// presence data will contain this field which will be passed when the invitee clicks on the message card.
|
|||
|
|
public readonly string DestinationApiName;
|
|||
|
|
|
|||
|
|
/// The lobby session ID that identifies a group or team.
|
|||
|
|
/// For a presence invitation, the inviters' presence data will contain this field which will be passed
|
|||
|
|
/// when the invitee clicks on the message card.
|
|||
|
|
public readonly string LobbySessionID;
|
|||
|
|
|
|||
|
|
/// The match session ID that identifies a competition.
|
|||
|
|
/// For a presence invitation, the inviters' presence data will contain this field which will be passed when the invitee clicks on the message card.
|
|||
|
|
public readonly string MatchSessionID;
|
|||
|
|
|
|||
|
|
/** The customized extra presence info.
|
|||
|
|
* For a presence invitation, the inviters' presence data will contain this field which will be passed when the invitee clicks on the message card.
|
|||
|
|
* You can use this field to add self-defined presence data. The data size cannot exceed 2MB.
|
|||
|
|
*/
|
|||
|
|
public readonly string Extra;
|
|||
|
|
|
|||
|
|
/// Room ID.For a room invitation, after calling \ref RoomService.InviteUser, this field will be passed when the invitee clicks on the message card.
|
|||
|
|
public readonly UInt64 RoomID;
|
|||
|
|
|
|||
|
|
/// For a challenge invitation, after calling \ref ChallengesService.Invite, this field will be passed when the invitee clicks on the message card.
|
|||
|
|
public readonly UInt64 ChallengeID;
|
|||
|
|
|
|||
|
|
/// Tracking ID.
|
|||
|
|
public readonly string TrackingID;
|
|||
|
|
|
|||
|
|
public LaunchDetails(IntPtr o)
|
|||
|
|
{
|
|||
|
|
DeeplinkMessage = CLIB.ppf_LaunchDetails_GetDeeplinkMessage(o);
|
|||
|
|
DestinationApiName = CLIB.ppf_LaunchDetails_GetDestinationApiName(o);
|
|||
|
|
LobbySessionID = CLIB.ppf_LaunchDetails_GetLobbySessionID(o);
|
|||
|
|
MatchSessionID = CLIB.ppf_LaunchDetails_GetMatchSessionID(o);
|
|||
|
|
Extra = CLIB.ppf_LaunchDetails_GetExtra(o);
|
|||
|
|
RoomID = CLIB.ppf_LaunchDetails_GetRoomID(o);
|
|||
|
|
ChallengeID = CLIB.ppf_LaunchDetails_GetChallengeID(o);
|
|||
|
|
TrackingID = CLIB.ppf_LaunchDetails_GetTrackingID(o);
|
|||
|
|
LaunchType = CLIB.ppf_LaunchDetails_GetLaunchType(o);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// The system information of the device.
|
|||
|
|
/// </summary>
|
|||
|
|
public class SystemInfo
|
|||
|
|
{
|
|||
|
|
/** The current ROM version (i.e., system version) of the device, such as "5.5.0" and "5.6.0".*/
|
|||
|
|
public readonly string ROMVersion;
|
|||
|
|
|
|||
|
|
/** The locale of the device. Locale is combined with language and country code. Such as "zh-CN" and "en-US".*/
|
|||
|
|
public readonly string Locale;
|
|||
|
|
|
|||
|
|
/** The product name of the device, such as "PICO 4".*/
|
|||
|
|
public readonly string ProductName;
|
|||
|
|
|
|||
|
|
/** Whether the device's ROM is CN version. PICO provides different ROM versions in different countries/regions.*/
|
|||
|
|
public readonly bool IsCnDevice;
|
|||
|
|
|
|||
|
|
/** The Matrix's version name. Matrix is a system app which provides system functions for platform services.*/
|
|||
|
|
public readonly string MatrixVersionName;
|
|||
|
|
|
|||
|
|
/** The Matrix's version code. */
|
|||
|
|
public readonly long MatrixVersionCode;
|
|||
|
|
|
|||
|
|
public SystemInfo(IntPtr o)
|
|||
|
|
{
|
|||
|
|
ROMVersion = CLIB.ppf_SystemInfo_GetROMVersion(o);
|
|||
|
|
Locale = CLIB.ppf_SystemInfo_GetLocale(o);
|
|||
|
|
ProductName = CLIB.ppf_SystemInfo_GetProductName(o);
|
|||
|
|
IsCnDevice = CLIB.ppf_SystemInfo_GetIsCnDevice(o);
|
|||
|
|
MatrixVersionName = CLIB.ppf_SystemInfo_GetMatrixVersionName(o);
|
|||
|
|
MatrixVersionCode = CLIB.ppf_SystemInfo_GetMatrixVersionCode(o);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// App's version info.
|
|||
|
|
/// </summary>
|
|||
|
|
public class ApplicationVersion
|
|||
|
|
{
|
|||
|
|
/// The current version code of the installed app.
|
|||
|
|
public readonly long CurrentCode;
|
|||
|
|
|
|||
|
|
/// The current version name of the installed app.
|
|||
|
|
public readonly string CurrentName;
|
|||
|
|
|
|||
|
|
/// The latest version code of the app in the PICO Store.
|
|||
|
|
public readonly long LatestCode;
|
|||
|
|
|
|||
|
|
/// The latest version name of the app in the PICO Store.
|
|||
|
|
public readonly string LatestName;
|
|||
|
|
|
|||
|
|
public ApplicationVersion(IntPtr o)
|
|||
|
|
{
|
|||
|
|
CurrentCode = CLIB.ppf_ApplicationVersion_GetCurrentCode(o);
|
|||
|
|
CurrentName = CLIB.ppf_ApplicationVersion_GetCurrentName(o);
|
|||
|
|
LatestCode = CLIB.ppf_ApplicationVersion_GetLatestCode(o);
|
|||
|
|
LatestName = CLIB.ppf_ApplicationVersion_GetLatestName(o);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|