You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
71 lines
1.3 KiB
C++
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);
|