Context.registerClass
Class registerClass(alias DClass, RegisterClassMode Mode = RegisterClassMode.UdaOnly)(string className = null) nothrowRegister a D class to a JSC Context.
If the Mode is RegisterClassMode.UdaOnly then a constructor must be marked with the @JsCtor attribute and all methods and properties which are to be exposed must be marked with the @JsExpose attribute.
The @JsName attribute is used to set the name (string) of a method or property. The @JsReadOnly attribute is used to mark a member variable property as read-only.
Parameters
DClass | The D class to register |
Mode | The registration mode (defaults to RegisterClassMode.UdaOnly) |
className | Class name to use or empty/null to use D class name (default) |
Returns
javascriptcore.class_.Class registerClass(string name, javascriptcore.class_.Class parentClass, javascriptcore.types.ClassVTable vtable, glib.types.DestroyNotify destroyNotify = null) nothrowRegister a custom class in context using the given name. If the new class inherits from another #JSCClass, the parent should be passed as parent_class, otherwise null should be used. The optional vtable parameter allows to provide a custom implementation for handling the class, for example, to handle external properties not added to the prototype. When an instance of the #JSCClass is cleared in the context, destroy_notify is called with the instance as parameter.
Parameters
name | the class name |
parentClass | a #JSCClass or null |
vtable | an optional #JSCClassVTable or null |
destroyNotify | a destroy notifier for class instances |