Exemplo n.º 1
0
void
_gum_jsc_kernel_init (GumJscKernel * self,
                      GumJscCore * core,
                      JSObjectRef scope)
{
  JSContextRef ctx = core->ctx;
  JSClassDefinition def;
  JSClassRef klass;
  JSObjectRef kernel;

  self->core = core;

  def = kJSClassDefinitionEmpty;
  def.className = "Kernel";
  def.staticValues = gumjs_kernel_values;
  def.staticFunctions = gum_kernel_api_is_available ()
      ? gumjs_kernel_functions_available
      : gumjs_kernel_functions_unavailable;
  klass = JSClassCreate (&def);
  kernel = JSObjectMake (ctx, klass, self);
  JSClassRelease (klass);
  _gumjs_object_set (ctx, scope, def.className, kernel);
}
Exemplo n.º 2
0
static void
gum_duk_kernel_check_api_available (duk_context * ctx)
{
  if (!gum_kernel_api_is_available ())
    _gum_duk_throw (ctx, "Kernel API is not available on this system");
}