Files
UnrealEngineUWP/Engine/Source/Runtime/Media/Private/MediaModule.cpp
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

71 lines
1.3 KiB
C++

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
#include "CoreMinimal.h"
#include "Modules/ModuleManager.h"
#include "IMediaModule.h"
#include "IMediaPlayerFactory.h"
/**
* Implements the Media module.
*/
class FMediaModule
: public IMediaModule
{
public:
//~ IMediaModule interface
virtual const TArray<IMediaPlayerFactory*>& GetPlayerFactories() const override
{
return MediaPlayerFactories;
}
virtual IMediaPlayerFactory* GetPlayerFactory(const FName& FactoryName) const override
{
for (IMediaPlayerFactory* Factory : MediaPlayerFactories)
{
if (Factory->GetName() == FactoryName)
{
return Factory;
}
}
return nullptr;
}
virtual void RegisterPlayerFactory(IMediaPlayerFactory& Factory) override
{
MediaPlayerFactories.AddUnique(&Factory);
}
virtual void UnregisterPlayerFactory(IMediaPlayerFactory& Factory) override
{
MediaPlayerFactories.Remove(&Factory);
}
public:
//~ IModuleInterface interface
virtual void StartupModule() override { }
virtual void ShutdownModule() override
{
MediaPlayerFactories.Reset();
}
virtual bool SupportsDynamicReloading() override
{
return false;
}
private:
/** Holds the registered video player factories. */
TArray<IMediaPlayerFactory*> MediaPlayerFactories;
};
IMPLEMENT_MODULE(FMediaModule, Media);