Files
UnrealEngine/Engine/Plugins/Experimental/Web/WebAPI/Source/WebAPIOpenAPI/Private/WebAPIOpenAPIModule.cpp
2025-05-18 13:04:45 +08:00

36 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "WebAPIOpenAPIModule.h"
#include "IWebAPIEditorModule.h"
#include "V2/WebAPISwaggerProvider.h"
#include "V3/WebAPIOpenAPIProvider.h"
#define LOCTEXT_NAMESPACE "WebAPIOpenAPI"
void FWebAPIOpenAPIModule::StartupModule()
{
IWebAPIEditorModuleInterface& WebAPIEditorModule = IWebAPIEditorModuleInterface::Get();
const TSharedRef<FWebAPISwaggerProvider> SwaggerAdapter = MakeShared<FWebAPISwaggerProvider>();
WebAPIEditorModule.AddProvider(TEXT("Swagger"), SwaggerAdapter);
const TSharedRef<FWebAPIOpenAPIProvider> OpenAPIAdapter = MakeShared<FWebAPIOpenAPIProvider>();
WebAPIEditorModule.AddProvider(TEXT("OpenAPI"), OpenAPIAdapter);
}
void FWebAPIOpenAPIModule::ShutdownModule()
{
static FName WebAPIEditorModuleName = TEXT("WebAPIEditorModule");
if(FModuleManager::Get().IsModuleLoaded(WebAPIEditorModuleName))
{
IWebAPIEditorModuleInterface& WebAPIEditorModule = IWebAPIEditorModuleInterface::Get();
WebAPIEditorModule.RemoveProvider(TEXT("Swagger"));
WebAPIEditorModule.RemoveProvider(TEXT("OpenAPI"));
}
}
#undef LOCTEXT_NAMESPACE
IMPLEMENT_MODULE(FWebAPIOpenAPIModule, WebAPIOpenAPI)