Files
UnrealEngine/Engine/Plugins/Online/OnlineSubsystemFacebook/Source/Private/IOS/OnlineSharingFacebook.h
2025-05-18 13:04:45 +08:00

63 lines
2.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
// Module includes
#include "OnlineSharingFacebookCommon.h"
#include "OnlineSubsystemFacebookPackage.h"
class FOnlineSubsystemFacebook;
/**
* Facebook implementation of the Online Sharing Interface
*/
class FOnlineSharingFacebook : public FOnlineSharingFacebookCommon
{
public:
//~ Begin IOnlineSharing Interface
virtual bool RequestNewReadPermissions(int32 LocalUserNum, EOnlineSharingCategory NewPermissions) override;
virtual bool RequestNewPublishPermissions(int32 LocalUserNum, EOnlineSharingCategory NewPermissions, EOnlineStatusUpdatePrivacy Privacy) override;
//~ End IOnlineSharing Interface
public:
/**
* Constructor used to indicate which OSS we are a part of
*/
FOnlineSharingFacebook(FOnlineSubsystemFacebook* InSubsystem);
/**
* Default destructor
*/
virtual ~FOnlineSharingFacebook();
// IOnlineSharing
virtual void RequestCurrentPermissions(int32 LocalUserNum, FOnRequestCurrentPermissionsComplete& CompletionDelegate) override;
private:
/**
* Delegate fired when current permissions have been updated after a read permissions request
*
* @param LocalUserNum the controller number of the associated user
* @param bWasSuccessful true permission query was successful
* @param Permissions set of all known permissions
*/
void OnRequestCurrentReadPermissionsComplete(int32 LocalUserNum, bool bWasSuccessful, const TArray<FSharingPermission>& Permissions);
/**
* Delegate fired when current permissions have been updated after a publish permissions request
*
* @param LocalUserNum the controller number of the associated user
* @param bWasSuccessful true permission query was successful
* @param Permissions set of all known permissions
*/
void OnRequestCurrentPublishPermissionsComplete(int32 LocalUserNum, bool bWasSuccessful, const TArray<FSharingPermission>& Permissions);
};
typedef TSharedPtr<FOnlineSharingFacebook, ESPMode::ThreadSafe> FOnlineSharingFacebookPtr;