Files
UnrealEngineUWP/Engine/Source/Runtime/WebBrowser/Private/Native/NativeJSStructSerializerBackend.h
ryan durand 0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00

37 lines
922 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "NativeJSScripting.h"
#include "Backends/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 FNativeJSStructSerializerBackend
: public FJsonStructSerializerBackend
{
public:
/**
* Creates and initializes a new instance.
*
* @param InScripting An instance of a web browser scripting obnject.
*/
FNativeJSStructSerializerBackend(FNativeJSScriptingRef InScripting, FMemoryWriter& Writer);
public:
virtual void WriteProperty(const FStructSerializerState& State, int32 ArrayIndex = 0) override;
private:
void WriteUObject(const FStructSerializerState& State, UObject* Value);
FNativeJSScriptingRef Scripting;
};