VJ Master 1.0
Real-time audio analysis and visualisation.
Loading...
Searching...
No Matches
ST_VJMasterWarden.h
1// Copyright (c) 2025 Aaron Trotter (ShaderTech). All Rights Reserved.
2
3/****************************************************************************************************************/
4/* Unauthorized tampering with ST_VJMasterWarden is not permitted! */
5/* Unauthorized tampering with ST_VJMasterWarden is in violation of the license and the terms of our agreement. */
6/* Contact Aaron Trotter (ShaderTech) if you need to need to make modifications. */
7/****************************************************************************************************************/
8
9#pragma once
10
11#include "Account/IPortalUser.h"
12#include "IPluginWardenModule.h"
13#include "../../PluginWarden/Private/PluginWardenAuthorizer.h"
14
15DECLARE_LOG_CATEGORY_EXTERN(LogST_VJMasterWarden, Log, All);
16
17class ST_VJMASTEREDITOR_API FST_VJMasterWarden
18{
19public:
20 FST_VJMasterWarden();
21 ~FST_VJMasterWarden();
22
23 void Initialize();
24 void Shutdown();
25
26private:
27
28 void OnEditorInitialized(const double InDuration);
29 void OnPreBeginPIE(const bool bIsSimulatingInEditor);
30 void CheckEntitlement();
31 void EntitlementNotify(EPluginAuthorizationState AuthorizationState, const FString& PluginItemId);
32
33 TSharedPtr<class SNotificationItem> WardenNotification = nullptr;
34
35 void CheckEntitlementForPlugin(const FText& PluginFriendlyName, const FString& PluginItemId, const FString& PluginOfferId, const EEntitlementCacheLevelRequest CacheLevel,
36 const FText& UnauthorizedMessageOverride, IPluginWardenModule::EUnauthorizedErrorHandling UnauthorizedErrorHandling);
37
38 EPluginAuthorizationState RunAuthorizationPipeline(const FText& PluginFriendlyName, const FString& PluginItemId, const FString& PluginOfferId, const EEntitlementCacheLevelRequest CacheLevel);
39
40 FString AuthorisedId = "";
41};
42
43/****************************************************************************************************************/