UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NativeJSScripting.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
5
6#include "WebJSFunction.h"
7#include "WebJSScripting.h"
8
11
13
18 : public FWebJSScripting
19 , public TSharedFromThis<FNativeJSScripting>
20{
21public:
22 //static const FString JSMessageTag;
23
25
26 virtual void BindUObject(const FString& Name, UObject* Object, bool bIsPermanent = true) override;
27 virtual void UnbindUObject(const FString& Name, UObject* Object = nullptr, bool bIsPermanent = true) override;
28
29 bool OnJsMessageReceived(const FString& Message);
30
31 FString ConvertStruct(UStruct* TypeInfo, const void* StructPtr);
33
34 virtual void InvokeJSFunction(FGuid FunctionId, int32 ArgCount, FWebJSParam Arguments[], bool bIsError=false) override;
35 virtual void InvokeJSErrorResult(FGuid FunctionId, const FString& Error) override;
36 void PageLoaded();
37
38private:
39 FString GetInitializeScript();
40 void InvokeJSFunctionRaw(FGuid FunctionId, const FString& JSValue, bool bIsError=false);
41 bool IsValid()
42 {
43 return WindowPtr.Pin().IsValid();
44 }
45
47 bool HandleExecuteUObjectMethodMessage(const TArray<FString>& Params);
48 void ExecuteJavascript(const FString& Javascript);
49
51 bool bLoaded;
52};
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
TSharedPtr< class FNativeJSScripting > FNativeJSScriptingPtr
Definition NativeJSScripting.h:10
TSharedRef< class FNativeJSScripting > FNativeJSScriptingRef
Definition NativeJSScripting.h:9
Definition NativeJSScripting.h:20
bool OnJsMessageReceived(const FString &Message)
Definition NativeJSScripting.cpp:217
FString ConvertStruct(UStruct *TypeInfo, const void *StructPtr)
Definition NativeJSScripting.cpp:236
FString ConvertObject(UObject *Object)
Definition NativeJSScripting.cpp:250
void PageLoaded()
Definition NativeJSScripting.cpp:616
virtual void UnbindUObject(const FString &Name, UObject *Object=nullptr, bool bIsPermanent=true) override
Definition NativeJSScripting.cpp:171
virtual void BindUObject(const FString &Name, UObject *Object, bool bIsPermanent=true) override
Definition NativeJSScripting.cpp:132
virtual void InvokeJSErrorResult(FGuid FunctionId, const FString &Error) override
Definition NativeJSScripting.cpp:349
virtual void InvokeJSFunction(FGuid FunctionId, int32 ArgCount, FWebJSParam Arguments[], bool bIsError=false) override
Definition NativeJSScripting.cpp:311
Definition NativeWebBrowserProxy.h:11
Definition WebJSScripting.h:17
const bool bJSBindingToLoweringEnabled
Definition WebJSScripting.h:148
Definition Array.h:670
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SharedPointer.h:1295
UE_FORCEINLINE_HINT TSharedPtr< ObjectType, Mode > Pin() const &
Definition SharedPointer.h:1512
Definition Object.h:95
Definition Class.h:480
Definition Guid.h:109
Definition WebJSFunction.h:26