Files
UnrealEngineUWP/Engine/Source/Programs/CrashReportClient/Private/CrashReportAnalytics.h
Ben Marsh 13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00

41 lines
1.1 KiB
C++

// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Templates/UnrealTemplate.h"
#include "Templates/SharedPointer.h"
class IAnalyticsProviderET;
/**
* The public interface for the analytics provider singleton.
* For Epic builds, this will point to epic's internal analytics provider.
* For licensee builds, it will be NULL by default unless they provide their own
* configuration.
*
*/
class FCrashReportAnalytics : FNoncopyable
{
public:
/**
* Return the provider instance. Not valid outside of Initialize/Shutdown calls.
* Note: must check IsAvailable() first else this code will assert if the provider is not valid.
*/
static IAnalyticsProviderET& GetProvider();
/** Helper function to determine if the provider is valid. */
static bool IsAvailable()
{
return Analytics.IsValid();
}
/** Called to initialize the singleton. */
static void Initialize();
/** Called to shut down the singleton */
static void Shutdown();
private:
static bool bIsInitialized;
static TSharedPtr<IAnalyticsProviderET> Analytics;
};