Enormouse overhaul
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user