Files
UnrealEngineUWP/Engine/Source/Runtime/WebBrowser/Private/Android/AndroidJSStructSerializerBackend.h
Ben Marsh 20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00

41 lines
979 B
C++

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "AndroidJSScripting.h"
#include "JsonStructSerializerBackend.h"
class UObject;
/**
* Implements a writer for UStruct serialization using JavaScript.
*
* Based on FJsonStructSerializerBackend, it adds support for certain object types not representable in pure JSON
*
*/
class FAndroidJSStructSerializerBackend
: public FJsonStructSerializerBackend
{
public:
/**
* Creates and initializes a new instance.
*
* @param InScripting An instance of a web browser scripting obnject.
*/
FAndroidJSStructSerializerBackend(FAndroidJSScriptingRef InScripting);
public:
virtual void WriteProperty(const FStructSerializerState& State, int32 ArrayIndex = 0) override;
FString ToString();
private:
void WriteUObject(const FStructSerializerState& State, UObject* Value);
FAndroidJSScriptingRef Scripting;
TArray<uint8> ReturnBuffer;
FMemoryWriter Writer;
};