Blame src/gnome-shell-extension-prefs.c

Packit Service ed5168
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
Packit Service ed5168
Packit Service ed5168
#include "config.h"
Packit Service ed5168
Packit Service ed5168
#include <gjs/gjs.h>
Packit Service ed5168
#include <glib/gi18n.h>
Packit Service ed5168
Packit Service ed5168
int
Packit Service ed5168
main (int argc, char *argv[])
Packit Service ed5168
{
Packit Service ed5168
  const char *search_path[] = { "resource:///org/gnome/shell", NULL };
Packit Service ed5168
  GError *error = NULL;
Packit Service ed5168
  GjsContext *context;
Packit Service ed5168
  int status;
Packit Service ed5168
Packit Service ed5168
  bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
Packit Service ed5168
  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
Packit Service ed5168
  textdomain (GETTEXT_PACKAGE);
Packit Service ed5168
Packit Service ed5168
  context = g_object_new (GJS_TYPE_CONTEXT,
Packit Service ed5168
                          "search-path", search_path,
Packit Service ed5168
                          NULL);
Packit Service ed5168
Packit Service ed5168
  if (!gjs_context_define_string_array(context, "ARGV",
Packit Service ed5168
                                       argc - 1, (const char**)argv + 1,
Packit Service ed5168
                                       &error))
Packit Service ed5168
    {
Packit Service ed5168
      g_message("Failed to defined ARGV: %s", error->message);
Packit Service ed5168
      g_error_free (error);
Packit Service ed5168
      g_object_unref (context);
Packit Service ed5168
Packit Service ed5168
      return 1;
Packit Service ed5168
    }
Packit Service ed5168
Packit Service ed5168
  if (!gjs_context_eval (context,
Packit Service ed5168
                         "const Main = imports.extensionPrefs.main; Main.main(ARGV);",
Packit Service ed5168
                         -1,
Packit Service ed5168
                         "<main>",
Packit Service ed5168
                         &status,
Packit Service ed5168
                         &error))
Packit Service ed5168
    {
Packit Service ed5168
      g_message ("Execution of main.js threw exception: %s", error->message);
Packit Service ed5168
      g_error_free (error);
Packit Service ed5168
      g_object_unref (context);
Packit Service ed5168
Packit Service ed5168
      return status;
Packit Service ed5168
    }
Packit Service ed5168
Packit Service ed5168
  g_object_unref (context);
Packit Service ed5168
  return 0;
Packit Service ed5168
}