Files
UnrealEngineUWP/Engine/Source/Developer/ProfilerClient/Private/ProfilerClientModule.cpp
Matthew Griffin bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00

61 lines
1.3 KiB
C++

// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
/*=============================================================================
ProfilerClientModule.cpp: Implements the FProfilerClientModule class.
=============================================================================*/
#include "ProfilerClientPrivatePCH.h"
/**
* Implements the ProfilerClient module
*/
class FProfilerClientModule
: public IProfilerClientModule
{
public:
// Begin IModuleInterface interface
virtual void StartupModule() override
{
MessageBusPtr = IMessagingModule::Get().GetDefaultBus();
}
virtual void ShutdownModule() override
{
}
// End IModuleInterface interface
public:
// Begin IProfilerClientModule interface
virtual IProfilerClientPtr CreateProfilerClient() override
{
IMessageBusPtr MessageBus = MessageBusPtr.Pin();
if (!MessageBus.IsValid())
{
return nullptr;
}
return MakeShareable(new FProfilerClientManager(MessageBus.ToSharedRef()));
}
// End IProfilerClientModule interface
private:
// Holds a weak pointer to the message bus.
IMessageBusWeakPtr MessageBusPtr;
};
/* Static initialization
*****************************************************************************/
IMPLEMENT_MODULE(FProfilerClientModule, ProfilerClient);