Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
CFXJS_Engine Class Reference

#include <cfxjs_engine.h>

Inheritance diagram for CFXJS_Engine:
Collaboration diagram for CFXJS_Engine:

Public Types

using Constructor
using Destructor = std::function<void(v8::Local<v8::Object> obj)>

Public Member Functions

 CFXJS_Engine (v8::Isolate *pIsolate)
 ~CFXJS_Engine () override
uint32_t DefineObj (const char *sObjName, FXJSOBJTYPE eObjType, Constructor pConstructor, Destructor pDestructor)
void DefineObjMethod (uint32_t nObjDefnID, const char *sMethodName, v8::FunctionCallback pMethodCall)
void DefineObjProperty (uint32_t nObjDefnID, const char *sPropName, v8::AccessorNameGetterCallback pPropGet, v8::AccessorNameSetterCallback pPropPut)
void DefineObjAllProperties (uint32_t nObjDefnID, v8::NamedPropertyQueryCallback pPropQurey, v8::NamedPropertyGetterCallback pPropGet, v8::NamedPropertySetterCallback pPropPut, v8::NamedPropertyDeleterCallback pPropDel, v8::NamedPropertyEnumeratorCallback pPropEnum)
void DefineObjConst (uint32_t nObjDefnID, const char *sConstName, v8::Local< v8::Value > pDefault)
void DefineGlobalMethod (const char *sMethodName, v8::FunctionCallback pMethodCall)
void DefineGlobalConst (const wchar_t *sConstName, v8::FunctionCallback pConstGetter)
void InitializeEngine ()
void ReleaseEngine ()
std::optional< IJS_Runtime::JS_ErrorExecute (const WideString &script)
v8::Local< v8::Object > GetThisObj ()
v8::Local< v8::Object > NewFXJSBoundObject (uint32_t nObjDefnID, FXJSOBJTYPE type)
void Error (const WideString &message)
v8::Local< v8::Context > GetV8Context ()
v8::Local< v8::Array > GetConstArray (const WideString &name)
void SetConstArray (const WideString &name, v8::Local< v8::Array > array)
Public Member Functions inherited from CFX_V8
 CFX_V8 (v8::Isolate *pIsolate)
virtual ~CFX_V8 ()
v8::Isolate * GetIsolate () const
v8::Local< v8::Value > NewNull ()
v8::Local< v8::Value > NewUndefined ()
v8::Local< v8::Array > NewArray ()
v8::Local< v8::Object > NewObject ()
v8::Local< v8::Number > NewNumber (int number)
v8::Local< v8::Number > NewNumber (double number)
v8::Local< v8::Number > NewNumber (float number)
v8::Local< v8::Boolean > NewBoolean (bool b)
v8::Local< v8::String > NewString (ByteStringView str)
v8::Local< v8::String > NewString (WideStringView str)
v8::Local< v8::Date > NewDate (double d)
int ToInt32 (v8::Local< v8::Value > pValue)
bool ToBoolean (v8::Local< v8::Value > pValue)
double ToDouble (v8::Local< v8::Value > pValue)
WideString ToWideString (v8::Local< v8::Value > pValue)
ByteString ToByteString (v8::Local< v8::Value > pValue)
v8::Local< v8::Object > ToObject (v8::Local< v8::Value > pValue)
v8::Local< v8::Array > ToArray (v8::Local< v8::Value > pValue)
size_t GetArrayLength (v8::Local< v8::Array > pArray)
v8::Local< v8::Value > GetArrayElement (v8::Local< v8::Array > pArray, size_t index)
void PutArrayElement (v8::Local< v8::Array > pArray, size_t index, v8::Local< v8::Value > pValue)
std::vector< WideStringGetObjectPropertyNames (v8::Local< v8::Object > pObj)
v8::Local< v8::Value > GetObjectProperty (v8::Local< v8::Object > pObj, ByteStringView bsUTF8PropertyName)
void PutObjectProperty (v8::Local< v8::Object > pObj, ByteStringView bsUTF8PropertyName, v8::Local< v8::Value > pValue)

Static Public Member Functions

static uint32_t GetObjDefnID (v8::Local< v8::Object > pObj)
static CFXJS_PerObjectData::BindingGetBinding (v8::Isolate *pIsolate, v8::Local< v8::Object > pObj)
static void SetBinding (v8::Local< v8::Object > pObj, std::unique_ptr< CFXJS_PerObjectData::Binding > p)
static void FreePerObjectData (v8::Local< v8::Object > pObj)

Protected Member Functions

 CFXJS_Engine ()
Protected Member Functions inherited from CFX_V8
void SetIsolate (v8::Isolate *pIsolate)
void DisposeIsolate ()

Detailed Description

Definition at line 112 of file cfxjs_engine.h.

Member Typedef Documentation

◆ Constructor

Initial value:
std::function<void(CFXJS_Engine* pEngine,
v8::Local<v8::Object> obj,
v8::Local<v8::Object> proxy)>
CFXJS_Engine(v8::Isolate *pIsolate)
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
GLhandleARB obj
[0]
QNetworkProxy proxy
[0]

Definition at line 117 of file cfxjs_engine.h.

◆ Destructor

using CFXJS_Engine::Destructor = std::function<void(v8::Local<v8::Object> obj)>

Definition at line 120 of file cfxjs_engine.h.

Constructor & Destructor Documentation

◆ CFXJS_Engine() [1/2]

CFXJS_Engine::CFXJS_Engine ( v8::Isolate * pIsolate)
explicit

Definition at line 406 of file cfxjs_engine.cpp.

◆ ~CFXJS_Engine()

CFXJS_Engine::~CFXJS_Engine ( )
overridedefault

◆ CFXJS_Engine() [2/2]

CFXJS_Engine::CFXJS_Engine ( )
protected

Definition at line 404 of file cfxjs_engine.cpp.

Member Function Documentation

◆ DefineGlobalConst()

void CFXJS_Engine::DefineGlobalConst ( const wchar_t * sConstName,
v8::FunctionCallback pConstGetter )

Definition at line 504 of file cfxjs_engine.cpp.

◆ DefineGlobalMethod()

void CFXJS_Engine::DefineGlobalMethod ( const char * sMethodName,
v8::FunctionCallback pMethodCall )

Definition at line 493 of file cfxjs_engine.cpp.

◆ DefineObj()

uint32_t CFXJS_Engine::DefineObj ( const char * sObjName,
FXJSOBJTYPE eObjType,
CFXJS_Engine::Constructor pConstructor,
CFXJS_Engine::Destructor pDestructor )

Definition at line 434 of file cfxjs_engine.cpp.

◆ DefineObjAllProperties()

void CFXJS_Engine::DefineObjAllProperties ( uint32_t nObjDefnID,
v8::NamedPropertyQueryCallback pPropQurey,
v8::NamedPropertyGetterCallback pPropGet,
v8::NamedPropertySetterCallback pPropPut,
v8::NamedPropertyDeleterCallback pPropDel,
v8::NamedPropertyEnumeratorCallback pPropEnum )

Definition at line 468 of file cfxjs_engine.cpp.

References CFXJS_PerIsolateData::ObjDefinitionForID().

Here is the call graph for this function:

◆ DefineObjConst()

void CFXJS_Engine::DefineObjConst ( uint32_t nObjDefnID,
const char * sConstName,
v8::Local< v8::Value > pDefault )

Definition at line 483 of file cfxjs_engine.cpp.

References CFXJS_PerIsolateData::ObjDefinitionForID().

Here is the call graph for this function:

◆ DefineObjMethod()

void CFXJS_Engine::DefineObjMethod ( uint32_t nObjDefnID,
const char * sMethodName,
v8::FunctionCallback pMethodCall )

Definition at line 447 of file cfxjs_engine.cpp.

References CFXJS_PerIsolateData::ObjDefinitionForID().

Here is the call graph for this function:

◆ DefineObjProperty()

void CFXJS_Engine::DefineObjProperty ( uint32_t nObjDefnID,
const char * sPropName,
v8::AccessorNameGetterCallback pPropGet,
v8::AccessorNameSetterCallback pPropPut )

Definition at line 457 of file cfxjs_engine.cpp.

References CFXJS_PerIsolateData::ObjDefinitionForID().

Here is the call graph for this function:

◆ Error()

void CFXJS_Engine::Error ( const WideString & message)

Definition at line 662 of file cfxjs_engine.cpp.

Referenced by JSMethod(), JSPropGetter(), and JSPropSetter().

Here is the caller graph for this function:

◆ Execute()

std::optional< IJS_Runtime::JS_Error > CFXJS_Engine::Execute ( const WideString & script)

Definition at line 600 of file cfxjs_engine.cpp.

Referenced by CJS_Runtime::ExecuteScript().

Here is the caller graph for this function:

◆ FreePerObjectData()

void CFXJS_Engine::FreePerObjectData ( v8::Local< v8::Object > pObj)
static

Definition at line 427 of file cfxjs_engine.cpp.

◆ GetBinding()

CFXJS_PerObjectData::Binding * CFXJS_Engine::GetBinding ( v8::Isolate * pIsolate,
v8::Local< v8::Object > pObj )
static

Definition at line 671 of file cfxjs_engine.cpp.

◆ GetConstArray()

v8::Local< v8::Array > CFXJS_Engine::GetConstArray ( const WideString & name)

Definition at line 678 of file cfxjs_engine.cpp.

◆ GetObjDefnID()

uint32_t CFXJS_Engine::GetObjDefnID ( v8::Local< v8::Object > pObj)
static

Definition at line 411 of file cfxjs_engine.cpp.

◆ GetThisObj()

v8::Local< v8::Object > CFXJS_Engine::GetThisObj ( )

Definition at line 651 of file cfxjs_engine.cpp.

◆ GetV8Context()

v8::Local< v8::Context > CFXJS_Engine::GetV8Context ( )

Definition at line 666 of file cfxjs_engine.cpp.

◆ InitializeEngine()

void CFXJS_Engine::InitializeEngine ( )

Definition at line 515 of file cfxjs_engine.cpp.

References CFXJS_PerIsolateData::CurrentMaxObjDefinitionID(), FXJSOBJTYPE_GLOBAL, FXJSOBJTYPE_STATIC, CFXJS_ObjDefinition::GetObjType(), and CFXJS_PerIsolateData::ObjDefinitionForID().

Referenced by CJS_Runtime::CJS_Runtime(), and TEST_F().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NewFXJSBoundObject()

v8::Local< v8::Object > CFXJS_Engine::NewFXJSBoundObject ( uint32_t nObjDefnID,
FXJSOBJTYPE type )

Definition at line 624 of file cfxjs_engine.cpp.

References FXJSOBJTYPE_DYNAMIC, and CFXJS_PerIsolateData::ObjDefinitionForID().

Here is the call graph for this function:

◆ ReleaseEngine()

void CFXJS_Engine::ReleaseEngine ( )

Definition at line 564 of file cfxjs_engine.cpp.

References CFXJS_PerIsolateData::CurrentMaxObjDefinitionID(), FXJSOBJTYPE_GLOBAL, CFXJS_ObjDefinition::GetObjType(), and CFXJS_PerIsolateData::ObjDefinitionForID().

Referenced by CJS_Runtime::~CJS_Runtime(), and TEST_F().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetBinding()

void CFXJS_Engine::SetBinding ( v8::Local< v8::Object > pObj,
std::unique_ptr< CFXJS_PerObjectData::Binding > p )
static

Definition at line 417 of file cfxjs_engine.cpp.

◆ SetConstArray()

void CFXJS_Engine::SetConstArray ( const WideString & name,
v8::Local< v8::Array > array )

Definition at line 682 of file cfxjs_engine.cpp.


The documentation for this class was generated from the following files: