[C++][Ue4] various bus fixes (#6539)

* Fixed compilation on linux and UE4.23

* Added string and enum type definition support

* Better handling or variable names, should avoid conflicts with reserved keywords or empty variable names in edge cases

* Updated samples
This commit is contained in:
Samuel Kahn
2020-06-04 14:37:39 +02:00
committed by GitHub
parent 83a0f7d65b
commit 0f627e70fb
27 changed files with 325 additions and 213 deletions

View File

@@ -96,17 +96,22 @@ void OpenAPIOrder::WriteJson(JsonWriter& Writer) const
Writer->WriteObjectEnd();
}
bool OpenAPIOrder::FromJson(const TSharedPtr<FJsonObject>& JsonObject)
bool OpenAPIOrder::FromJson(const TSharedPtr<FJsonValue>& JsonValue)
{
const TSharedPtr<FJsonObject>* Object;
if (!JsonValue->TryGetObject(Object))
return false;
bool ParseSuccess = true;
ParseSuccess &= TryGetJsonValue(JsonObject, TEXT("id"), Id);
ParseSuccess &= TryGetJsonValue(JsonObject, TEXT("petId"), PetId);
ParseSuccess &= TryGetJsonValue(JsonObject, TEXT("quantity"), Quantity);
ParseSuccess &= TryGetJsonValue(JsonObject, TEXT("shipDate"), ShipDate);
ParseSuccess &= TryGetJsonValue(JsonObject, TEXT("status"), Status);
ParseSuccess &= TryGetJsonValue(JsonObject, TEXT("complete"), Complete);
ParseSuccess &= TryGetJsonValue(*Object, TEXT("id"), Id);
ParseSuccess &= TryGetJsonValue(*Object, TEXT("petId"), PetId);
ParseSuccess &= TryGetJsonValue(*Object, TEXT("quantity"), Quantity);
ParseSuccess &= TryGetJsonValue(*Object, TEXT("shipDate"), ShipDate);
ParseSuccess &= TryGetJsonValue(*Object, TEXT("status"), Status);
ParseSuccess &= TryGetJsonValue(*Object, TEXT("complete"), Complete);
return ParseSuccess;
}
}