KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
FResponseWriteSubmit 구조체 참조

Write Submit 응답 구조체입니다. 더 자세히 ...

#include <NetworkData.h>

+ FResponseWriteSubmit에 대한 협력 다이어그램:

Public 멤버 함수

void PrintData () const
 디버그 로그에 응답 내용을 출력합니다.
 
void SetFromHttpResponse (const TSharedPtr< class IHttpResponse, ESPMode::ThreadSafe > &Response)
 HTTP 응답을 파싱해 구조체를 채웁니다.
 

Public 속성

TArray< FResponseWriteDataResponseWriteDataArray
 

상세한 설명

Write Submit 응답 구조체입니다.

NetworkData.h 파일의 712 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ PrintData()

void FResponseWriteSubmit::PrintData ( ) const

디버그 로그에 응답 내용을 출력합니다.

NetworkData.cpp 파일의 456 번째 라인에서 정의되었습니다.

457{
459 {
460 NETWORK_LOG( TEXT("[OCR Extract] Response - Is_Pass: %d, Text: %s"), data.display.is_pass, *(data.display.message));
461 }
462}
#define NETWORK_LOG(fmt,...)
TArray< FResponseWriteData > ResponseWriteDataArray

다음을 참조함 : NETWORK_LOG, ResponseWriteDataArray.

다음에 의해서 참조됨 : ANetworkTesterActor::OnResponseOcrExtract().

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ SetFromHttpResponse()

void FResponseWriteSubmit::SetFromHttpResponse ( const TSharedPtr< class IHttpResponse, ESPMode::ThreadSafe > &  Response)

HTTP 응답을 파싱해 구조체를 채웁니다.

NetworkData.cpp 파일의 407 번째 라인에서 정의되었습니다.

408{
409 if (!Response.IsValid())
410 {
411 return;
412 }
413
414 FString JsonString = Response->GetContentAsString();
415
416 TArray<TSharedPtr<FJsonValue>> JsonArray;
417 TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(JsonString);
418
419 if (FJsonSerializer::Deserialize(Reader, JsonArray))
420 {
421 for (const TSharedPtr<FJsonValue>& EntryValue : JsonArray)
422 {
423 if (EntryValue.IsValid())
424 {
425 TSharedPtr<FJsonObject> EntryObject = EntryValue->AsObject();
426 if (!EntryObject.IsValid())
427 {
428 continue;
429 }
430
431 FResponseWriteData Entry; // Display & Record를 포함하는 사용자 정의 구조체
432
433 if (EntryObject->HasTypedField<EJson::Object>(TEXT("display")))
434 {
435 const TSharedPtr<FJsonObject> DisplayObj = EntryObject->GetObjectField(TEXT("display"));
436 Entry.display.is_pass = DisplayObj->GetBoolField(TEXT("is_pass"));
437 Entry.display.message = DisplayObj->GetStringField(TEXT("message"));
438 Entry.display.correction = DisplayObj->GetStringField(TEXT("correction"));
439 }
440
441 if (EntryObject->HasTypedField<EJson::Object>(TEXT("record")))
442 {
443 const TSharedPtr<FJsonObject> RecordObj = EntryObject->GetObjectField(TEXT("record"));
444 Entry.record.score = RecordObj->GetIntegerField(TEXT("score"));
445 Entry.record.target = RecordObj->GetStringField(TEXT("target"));
446 Entry.record.input = RecordObj->GetStringField(TEXT("input"));
447 Entry.record.stage = RecordObj->GetStringField(TEXT("stage"));
448 }
449
450 ResponseWriteDataArray.Add(Entry);
451 }
452 }
453 }
454}
FWriteDisplay display
FWriteRecord record
FString correction
FString message
FString input
FString target
FString stage

다음을 참조함 : FWriteDisplay::correction, FResponseWriteData::display, FWriteRecord::input, FWriteDisplay::is_pass, FWriteDisplay::message, FResponseWriteData::record, ResponseWriteDataArray, FWriteRecord::score, FWriteRecord::stage, FWriteRecord::target.

멤버 데이터 문서화

◆ ResponseWriteDataArray

TArray<FResponseWriteData> FResponseWriteSubmit::ResponseWriteDataArray

NetworkData.h 파일의 717 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : UPopup_QuestionnaireResult::InitPopup(), PrintData(), SetFromHttpResponse().


이 구조체에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: