diff --git a/ark_runtime/jsvm/jsvm_types.h b/ark_runtime/jsvm/jsvm_types.h index e46568bedba825d446c09be8e0906bb76af4d935..228830d2c50267d7bfb4507eef7e885da1f88f8b 100644 --- a/ark_runtime/jsvm/jsvm_types.h +++ b/ark_runtime/jsvm/jsvm_types.h @@ -541,42 +541,56 @@ typedef struct { /** A callback function triggered by getting a named property of an instance object. */ JSVM_Value(JSVM_CDECL* genericNamedPropertyGetterCallback)(JSVM_Env env, JSVM_Value name, - JSVM_Value thisArg); + JSVM_Value thisArg, + JSVM_Value namedPropertyData); /** A callback function triggered by setting a named property of an instance object. */ JSVM_Value(JSVM_CDECL* genericNamedPropertySetterCallback)(JSVM_Env env, JSVM_Value name, JSVM_Value property, - JSVM_Value thisArg); + JSVM_Value thisArg, + JSVM_Value namedPropertyData); /** A callback function triggered by deleting a named property of an instance object. */ JSVM_Value(JSVM_CDECL* genericNamedPropertyDeleterCallback)(JSVM_Env env, JSVM_Value name, - JSVM_Value thisArg); + JSVM_Value thisArg, + JSVM_Value namedPropertyData); /** A callback function triggered by getting all named properties requests on an object. */ JSVM_Value(JSVM_CDECL* genericNamedPropertyEnumeratorCallback)(JSVM_Env env, - JSVM_Value thisArg); + JSVM_Value thisArg, + JSVM_Value namedPropertyData); /** A callback function triggered by getting an indexed property of an instance object. */ JSVM_Value(JSVM_CDECL* genericIndexedPropertyGetterCallback)(JSVM_Env env, - JSVM_Value index, - JSVM_Value thisArg); + JSVM_Value index, + JSVM_Value thisArg, + JSVM_Value indexedPropertyData); /** A callback function triggered by setting an indexed property of an instance object. */ JSVM_Value(JSVM_CDECL* genericIndexedPropertySetterCallback)(JSVM_Env env, JSVM_Value index, JSVM_Value property, - JSVM_Value thisArg); + JSVM_Value thisArg, + JSVM_Value indexedPropertyData); /** A callback function triggered by deleting an indexed property of an instance object. */ JSVM_Value(JSVM_CDECL* genericIndexedPropertyDeleterCallback)(JSVM_Env env, JSVM_Value index, - JSVM_Value thisArg); + JSVM_Value thisArg, + JSVM_Value indexedPropertyData); /** A callback function triggered by getting all indexed properties requests on an object. */ JSVM_Value(JSVM_CDECL* genericIndexedPropertyEnumeratorCallback)(JSVM_Env env, - JSVM_Value thisArg); + JSVM_Value thisArg, + JSVM_Value indexedPropertyData); + + /** data will be utilized by the named property callbacks in this struct. */ + JSVM_Value namedPropertyData; + + /** data will be utilized by the indexed property callbacks in this struct. */ + JSVM_Value indexedPropertyData; } JSVM_PropertyHandlerConfigurationStruct; /**