Files
UnrealEngineUWP/Engine/Source/Editor/PluginWarden/Private/PluginWardenModule.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

51 lines
1.4 KiB
C++

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
#include "PluginWardenModule.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "Widgets/SWindow.h"
#include "Framework/Application/SlateApplication.h"
#include "SAuthorizingPlugin.h"
IMPLEMENT_MODULE( FPluginWardenModule, PluginWarden );
#define LOCTEXT_NAMESPACE "PluginWarden"
TSet<FString> AuthorizedPlugins;
void FPluginWardenModule::StartupModule()
{
}
void FPluginWardenModule::ShutdownModule()
{
}
void FPluginWardenModule::CheckEntitlementForPlugin(const FText& PluginFriendlyName, const FString& PluginItemId, const FString& PluginOfferId, TFunction<void()> AuthorizedCallback)
{
// If we've previously authorized the plug-in, just immediately verify access.
if ( AuthorizedPlugins.Contains(PluginItemId) )
{
AuthorizedCallback();
return;
}
// Create the window
TSharedRef<SWindow> AuthorizingPluginWindow = SNew(SWindow)
.SupportsMaximize(false)
.SupportsMinimize(false)
.HasCloseButton(true)
.SizingRule(ESizingRule::Autosized)
.Title(FText::Format(LOCTEXT("EntitlementCheckFormat", "{0} - Entitlement Check"), PluginFriendlyName));
TSharedRef<SAuthorizingPlugin> PluginAuthPanel = SNew(SAuthorizingPlugin, AuthorizingPluginWindow, PluginFriendlyName, PluginItemId, PluginOfferId, AuthorizedCallback);
AuthorizingPluginWindow->SetContent(PluginAuthPanel);
FSlateApplication::Get().AddModalWindow(AuthorizingPluginWindow, nullptr);
}
#undef LOCTEXT_NAMESPACE