UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CEFJSStructSerializerBackend.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6
7#if WITH_CEF3
8
10#include "WebBrowserSingleton.h"
11#include "UObject/UnrealType.h"
13#include "CEFJSScripting.h"
14
15#if PLATFORM_WINDOWS
17#endif
18
19#pragma push_macro("OVERRIDE")
20#undef OVERRIDE // cef headers provide their own OVERRIDE macro
22#if PLATFORM_APPLE
24#endif
25#include "include/cef_values.h"
26#if PLATFORM_APPLE
28#endif
30#pragma pop_macro("OVERRIDE")
31
32#if PLATFORM_WINDOWS
34#endif
35
36#endif
37
38class FCEFJSScripting;
41class FWebJSScripting;
42class UObject;
43class FProperty;
44class UStruct;
45
46#if WITH_CEF3
47
53{
54public:
55
60 : Scripting(InScripting), Stack(), Result()
61 { }
62
64 {
65 return Result;
66 }
67
68public:
69
70 // IStructSerializerBackend interface
71
72 virtual void BeginArray(const FStructSerializerState& State) override;
73 virtual void BeginStructure(const FStructSerializerState& State) override;
74 virtual void EndArray(const FStructSerializerState& State) override;
75 virtual void EndStructure(const FStructSerializerState& State) override;
76 virtual void WriteComment(const FString& Comment) override;
77 virtual void WriteProperty(const FStructSerializerState& State, int32 ArrayIndex = 0) override;
78
79private:
80
81 struct StackItem
82 {
83 enum {STYPE_DICTIONARY, STYPE_LIST} Kind;
84 FString Name;
87
89 : Kind(STYPE_DICTIONARY)
90 , Name(InName)
92 , ListValue()
93 {}
94
95 StackItem(const FString& InName, CefRefPtr<CefListValue> InList)
96 : Kind(STYPE_LIST)
97 , Name(InName)
100 {}
101
102 };
103
105 TArray<StackItem> Stack;
107
108 void AddNull(const FStructSerializerState& State);
109 void Add(const FStructSerializerState& State, bool Value);
110 void Add(const FStructSerializerState& State, int32 Value);
111 void Add(const FStructSerializerState& State, double Value);
112 void Add(const FStructSerializerState& State, FString Value);
113 void Add(const FStructSerializerState& State, UObject* Value);
114};
115
116
117#endif
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define THIRD_PARTY_INCLUDES_START
Definition GenericPlatformCompilerPreSetup.h:63
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
Definition UnrealType.h:174
Definition WebJSScripting.h:17
Definition IStructSerializerBackend.h:125
virtual void EndStructure(const FStructSerializerState &State)=0
virtual void BeginArray(const FStructSerializerState &State)=0
virtual void BeginStructure(const FStructSerializerState &State)=0
virtual void WriteComment(const FString &Comment)=0
virtual void EndArray(const FStructSerializerState &State)=0
virtual void WriteProperty(const FStructSerializerState &State, int32 ArrayIndex=0)=0
Definition Array.h:670
Definition SharedPointer.h:692
Definition Object.h:95
Definition Class.h:480
Definition Voronoi.cpp:10
UE_STRING_CLASS Result(Forward< LhsType >(Lhs), RhsLen)
Definition String.cpp.inl:732
Definition IStructSerializerBackend.h:81