Files
DedicatedServerCourse/Plugins/Developer/RiderLink/Source/RiderLink/Public/IRiderLink.hpp
2026-02-24 22:39:26 -05:00

30 lines
1000 B
C++

#pragma once
#include "RdEditorModel/RdEditorModel.Pregenerated.h"
#include "lifetime/LifetimeDefinition.h"
#include "Modules/ModuleInterface.h"
#include "Modules/ModuleManager.h"
class RIDERLINK_API IRiderLinkModule : public IModuleInterface
{
public:
static IRiderLinkModule& Get()
{
return FModuleManager::GetModuleChecked<IRiderLinkModule>(GetModuleName());
}
static FName GetModuleName()
{
static const FName ModuleName = TEXT("RiderLink");
return ModuleName;
}
// RiderLink API
virtual rd::LifetimeDefinition CreateNestedLifetimeDefinition() const = 0;
virtual void ViewModel(rd::Lifetime Lifetime, TFunction<void(rd::Lifetime, JetBrains::EditorPlugin::RdEditorModel const&)> Handler) = 0;
virtual void QueueAction(TFunction<void()> Handler) = 0;
virtual bool FireAsyncAction(TFunction<void(JetBrains::EditorPlugin::RdEditorModel const&)> Handler) = 0;
virtual void QueueModelAction(TFunction<void(JetBrains::EditorPlugin::RdEditorModel const&)> Handler) = 0;
};