PICO Unreal Platform SDK
PicoApplicationInterface.h
1// Copyright 2022 Pico Technology Co., Ltd.All rights reserved.
2// This plugin incorporates portions of the Unreal® Engine. Unreal® is a trademark or registered trademark of Epic Games, Inc.In the United States of America and elsewhere.
3// Unreal® Engine, Copyright 1998 – 2022, Epic Games, Inc.All rights reserved.
4
5#pragma once
6
7#include "CoreMinimal.h"
8#include "OnlineSubsystemPico.h"
9#include "OnlineSubsystemPicoPackage.h"
10#include "OnlineSubsystemPicoNames.h"
11
13
24DECLARE_LOG_CATEGORY_EXTERN(ApplicationInterface, Log, All);
25
26// Request
27DECLARE_DELEGATE_ThreeParams(FOnLaunchOtherAppComplete, const FString& /*String Message*/, bool /*IsSuccessed*/, const FString& /*Error Message*/);
28DECLARE_DELEGATE_ThreeParams(FOnLaunchOtherAppByPresenceComplete, const FString& /*String Message*/, bool /*IsSuccessed*/, const FString& /*Error Message*/);
29DECLARE_DELEGATE_ThreeParams(FOnGetVersion, const FString& /*String Message*/, bool /*IsSuccessed*/, const FString& /*Error Message*/);
30DECLARE_DELEGATE_ThreeParams(FOnLaunchOtherAppByAppIdComplete, const FString& /*String Message*/, bool /*IsSuccessed*/, const FString& /*Error Message*/);
31
33class ONLINESUBSYSTEMPICO_API FPicoApplicationInterface
34{
35private:
36
37 FOnlineSubsystemPico& PicoSubsystem;
38
39public:
40 FPicoApplicationInterface(FOnlineSubsystemPico& InSubsystem);
42
56 bool LaunchOtherApp(const FString& PackageName, const FString& Message, const FOnLaunchOtherAppComplete& Delegate = FOnLaunchOtherAppComplete());
57 void OnQueryLaunchOtherAppComplete(ppfMessageHandle Message, bool bIsError, const FOnLaunchOtherAppComplete& Delegate);
58
59 bool GetVersion(const FOnGetVersion& Delegate = FOnGetVersion());
60 void OnQueryGetVersionComplete(ppfMessageHandle Message, bool bIsError, const FOnGetVersion& Delegate);
61
81 bool LaunchOtherAppByPresence(const FString& AppID, const FString& PackageName, const FString& Message, const FString& ApiName, const FString& LobbySessionId, const FString& MatchSessionId, const FString& TrackId, const FString& Extra, const FOnLaunchOtherAppByPresenceComplete& Delegate = FOnLaunchOtherAppByPresenceComplete());
82 void OnQueryLaunchOtherAppByPresenceComplete(ppfMessageHandle Message, bool bIsError, const FOnLaunchOtherAppByPresenceComplete& Delegate);
83
97 bool LaunchOtherAppByAppId(const FString& AppId, const FString& Message, const FOnLaunchOtherAppByAppIdComplete& Delegate = FOnLaunchOtherAppByAppIdComplete());
98 void OnQueryLaunchOtherAppByAppIdComplete(ppfMessageHandle Message, bool bIsError, const FOnLaunchOtherAppByAppIdComplete& Delegate);
99}; // end of Application // end of Function
Pico Application interface class.
Definition: PicoApplicationInterface.h:34
bool LaunchOtherAppByPresence(const FString &AppID, const FString &PackageName, const FString &Message, const FString &ApiName, const FString &LobbySessionId, const FString &MatchSessionId, const FString &TrackId, const FString &Extra, const FOnLaunchOtherAppByPresenceComplete &Delegate=FOnLaunchOtherAppByPresenceComplete())
Launches a different app in a user's library.
bool LaunchOtherAppByAppId(const FString &AppId, const FString &Message, const FOnLaunchOtherAppByAppIdComplete &Delegate=FOnLaunchOtherAppByAppIdComplete())
Launches a different app in a user's library by app ID.
bool LaunchOtherApp(const FString &PackageName, const FString &Message, const FOnLaunchOtherAppComplete &Delegate=FOnLaunchOtherAppComplete())
Launches a different app in a user's library.