NativeInterfaceJSStructSerializerBackend.h 1001 B

12345678910111213141516171819202122232425262728293031323334353637
  1. // Engine/Source/Runtime/WebBrowser/Private/Native/NativeJSStructSerializerBackend.h
  2. #pragma once
  3. #include "CoreMinimal.h"
  4. #include "NativeInterfaceJSScripting.h"
  5. #include "Backends/JsonStructSerializerBackend.h"
  6. class UObject;
  7. /**
  8. * Implements a writer for UStruct serialization using JavaScript.
  9. *
  10. * Based on FJsonStructSerializerBackend, it adds support for certain object types not representable in pure JSON
  11. *
  12. */
  13. class FNativeInterfaceJSStructSerializerBackend
  14. : public FJsonStructSerializerBackend
  15. {
  16. public:
  17. /**
  18. * Creates and initializes a new instance.
  19. *
  20. * @param InScripting An instance of a web browser scripting obnject.
  21. */
  22. FNativeInterfaceJSStructSerializerBackend(FNativeInterfaceJSScriptingRef InScripting, FMemoryWriter& Writer);
  23. public:
  24. virtual void WriteProperty(const FStructSerializerState& State, int32 ArrayIndex = 0) override;
  25. private:
  26. void WriteUObject(const FStructSerializerState& State, UObject* Value);
  27. FNativeInterfaceJSScriptingRef Scripting;
  28. };