Enormouse overhaul

This commit is contained in:
2026-04-04 01:45:25 -04:00
parent b1a2813f05
commit e9fff6599a
86 changed files with 1324 additions and 1225 deletions

View File

@@ -263,7 +263,7 @@ FString UWingServer::HandleRequest(const FString& Line)
{
LogCapture.CapturedErrors.Empty();
LogCapture.bEnabled = true;
HandlerOutput.Reset();
WingOut::StdoutBuffer.Reset();
SuggestedManualSections.Empty();
LastHandler = nullptr;
@@ -273,7 +273,7 @@ FString UWingServer::HandleRequest(const FString& Line)
LogCapture.bEnabled = false;
for (const FString& Msg : LogCapture.CapturedErrors)
{
UWingServer::Printf(TEXT("UE_LOG: %s\n"), *Msg);
WingOut::Stdout.Printf(TEXT("UE_LOG: %s\n"), *Msg);
}
LogCapture.CapturedErrors.Empty();
if (!SuggestedManualSections.IsEmpty())
@@ -281,8 +281,8 @@ FString UWingServer::HandleRequest(const FString& Line)
UWingServer::SuggestManual(WingManual::Section::HandlerHelp);
WingManual::PrintManual(SuggestedManualSections, LastHandler, true);
}
FString Result = HandlerOutput.ToString();
HandlerOutput.Reset();
FString Result = WingOut::StdoutBuffer.ToString();
WingOut::StdoutBuffer.Reset();
for (int32 i = 0; i < Result.Len(); ++i)
{
if (Result[i] == TEXT('\0')) Result[i] = TEXT(' ');
@@ -298,7 +298,7 @@ void UWingServer::TryCallHandler(const FString &Line)
FJsonSerializer::Deserialize(Reader, Request);
if (!Request.IsValid())
{
UWingServer::Printf(TEXT("Request is not valid JSON"));
WingOut::Stdout.Printf(TEXT("Request is not valid JSON"));
return;
}
@@ -306,8 +306,8 @@ void UWingServer::TryCallHandler(const FString &Line)
FString Command;
if (!Request->TryGetStringField(TEXT("command"), Command))
{
UWingServer::Printf(TEXT("Request does not contain 'command' parameter"));
UWingServer::Printf(TEXT("We recommend sending command='UserManual'."));
WingOut::Stdout.Printf(TEXT("Request does not contain 'command' parameter"));
WingOut::Stdout.Printf(TEXT("We recommend sending command='UserManual'."));
return;
}
Request->RemoveField(TEXT("command"));
@@ -316,7 +316,7 @@ void UWingServer::TryCallHandler(const FString &Line)
FWingHandlerConfig* Found = FindHandler(Command);
if (!Found)
{
UWingServer::Printf(TEXT("Unknown command: %s"), *Command);
WingOut::Stdout.Printf(TEXT("Unknown command: %s"), *Command);
UWingServer::SuggestManual(WingManual::Section::ImportantCommands);
return;
}
@@ -330,7 +330,7 @@ void UWingServer::TryCallHandler(const FString &Line)
// Populate the handler object with the request parameters.
WingPropHandle Props;
WingPropHandle::Handles Handles = Props.AllProperties(HandlerObj.Get(), true);
if (!WingPropHandle::PopulateFromJson(Handles, *Request, false))
if (!WingPropHandle::PopulateFromJson(Handles, *Request, false, WingOut::Stdout))
{
UWingServer::SuggestManual(WingManual::Section::HandlerHelp);
return;
@@ -490,3 +490,7 @@ FWingHandlerConfig* UWingServer::FindHandler(const FString& Name)
}
return nullptr;
}
TStringBuilder<65536> WingOut::StdoutBuffer;
WingOut WingOut::Stdout(&WingOut::StdoutBuffer);
WingOut WingOut::None(nullptr);