Files
UnrealEngineUWP/Engine/Source/Runtime/GameLiveStreaming/QueryLiveStreamsCallbackProxy.h
Ben Marsh 20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00

52 lines
1.7 KiB
C++

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "Net/OnlineBlueprintCallProxyBase.h"
#include "QueryLiveStreamsCallbackProxy.generated.h"
USTRUCT( BlueprintType )
struct FBlueprintLiveStreamInfo
{
GENERATED_USTRUCT_BODY()
/** Name of the game that is streaming */
UPROPERTY( EditAnywhere, Category="LiveStreaming" )
FString GameName;
/** The title of the stream itself */
UPROPERTY( EditAnywhere, Category="LiveStreaming" )
FString StreamName;
/** URL for the stream */
UPROPERTY( EditAnywhere, Category="LiveStreaming" )
FString URL;
};
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams( FOnQueryLiveStreamsCompleted, const TArray<FBlueprintLiveStreamInfo>&, LiveStreams, bool, bWasSuccessful );
UCLASS()
class UQueryLiveStreamsCallbackProxy : public UOnlineBlueprintCallProxyBase
{
GENERATED_UCLASS_BODY()
// Called when the asynchronous request for live streams completes, passing along the list of live streams currently active, along with a boolean value that indicates whether the request was successful at all
UPROPERTY( BlueprintAssignable )
FOnQueryLiveStreamsCompleted OnQueriedLiveStreams;
/** Requests a list of live internet streams for the specified game name. This will usually hit the internet so it could take a second or two. */
UFUNCTION( BlueprintCallable, Category="LiveStreaming", meta=( BlueprintInternalUseOnly="true" ) )
static UQueryLiveStreamsCallbackProxy* QueryLiveStreams( const FString& GameName );
/** UOnlineBlueprintCallProxyBase interface */
virtual void Activate() override;
protected:
/** Name of the game that we're querying about */
FString GameName;
};