gint main (gint argc, gchar **argv) { GOptionContext *context; EDBusServer *server; GError *error = NULL; setlocale (LC_ALL, ""); bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); prompt_user_init (&argc, &argv); context = g_option_context_new (NULL); g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE); g_option_context_parse (context, &argc, &argv, &error); g_option_context_free (context); if (error != NULL) { g_printerr ("%s\n", error->message); exit (EXIT_FAILURE); } e_gdbus_templates_init_main_thread (); server = e_user_prompter_server_new (); g_signal_connect ( server, "prompt", G_CALLBACK (prompt_user_show), NULL); g_print ("Prompter is up and running...\n"); /* This SHOULD keep the server's use * count from ever reaching zero. */ if (opt_keep_running) e_dbus_server_hold (server); e_dbus_server_run (server, TRUE); g_object_unref (server); g_print ("Bye.\n"); return 0; }
gint main (gint argc, gchar **argv) { GOptionContext *context; EDBusServer *server; EDBusServerExitCode exit_code; GError *error = NULL; #ifdef G_OS_WIN32 e_util_win32_initialize (); #endif setlocale (LC_ALL, ""); bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); /* Workaround https://bugzilla.gnome.org/show_bug.cgi?id=674885 */ g_type_ensure (G_TYPE_DBUS_CONNECTION); #if defined (ENABLE_MAINTAINER_MODE) && defined (HAVE_GTK) if (g_getenv ("EDS_TESTING") == NULL) /* This is only to load gtk-modules, like * bug-buddy's gnomesegvhandler, if possible */ gtk_init_check (&argc, &argv); #endif context = g_option_context_new (NULL); g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE); g_option_context_parse (context, &argc, &argv, &error); g_option_context_free (context); if (error != NULL) { g_printerr ("%s\n", error->message); exit (EXIT_FAILURE); } e_gdbus_templates_init_main_thread (); reload: server = e_data_book_factory_new (NULL, &error); if (error != NULL) { g_printerr ("%s\n", error->message); exit (EXIT_FAILURE); } g_debug ("Server is up and running..."); /* This SHOULD keep the server's use * count from ever reaching zero. */ if (opt_keep_running) e_dbus_server_hold (server); exit_code = e_dbus_server_run (server, opt_wait_for_client); g_object_unref (server); if (exit_code == E_DBUS_SERVER_EXIT_RELOAD) { g_debug ("Reloading..."); goto reload; } g_debug ("Bye."); return 0; }
gint main (gint argc, gchar **argv) { GOptionContext *context; EDBusServer *server; GError *error = NULL; #ifdef G_OS_WIN32 /* Reduce risks */ { typedef BOOL (WINAPI *t_SetDllDirectoryA) (LPCSTR lpPathName); t_SetDllDirectoryA p_SetDllDirectoryA; p_SetDllDirectoryA = GetProcAddress ( GetModuleHandle ("kernel32.dll"), "SetDllDirectoryA"); if (p_SetDllDirectoryA != NULL) p_SetDllDirectoryA (""); } #ifndef _WIN64 { typedef BOOL (WINAPI *t_SetProcessDEPPolicy) (DWORD dwFlags); t_SetProcessDEPPolicy p_SetProcessDEPPolicy; p_SetProcessDEPPolicy = GetProcAddress ( GetModuleHandle ("kernel32.dll"), "SetProcessDEPPolicy"); if (p_SetProcessDEPPolicy != NULL) p_SetProcessDEPPolicy ( PROCESS_DEP_ENABLE | PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION); } #endif #endif setlocale (LC_ALL, ""); bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); #if defined (ENABLE_MAINTAINER_MODE) && defined (HAVE_GTK) /* This is only to load gtk-modules, like * bug-buddy's gnomesegvhandler, if possible. */ gtk_init_check (&argc, &argv); #else g_type_init (); #endif context = g_option_context_new (NULL); g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE); g_option_context_parse (context, &argc, &argv, &error); g_option_context_free (context); if (error != NULL) { g_printerr ("%s\n", error->message); exit (EXIT_FAILURE); } #ifdef HAVE_ICAL_UNKNOWN_TOKEN_HANDLING ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN); #endif e_gdbus_templates_init_main_thread (); server = e_data_cal_factory_new (NULL, &error); if (error != NULL) { g_printerr ("%s\n", error->message); exit (EXIT_FAILURE); } g_print ("Server is up and running...\n"); /* This SHOULD keep the server's use * count from ever reaching zero. */ if (opt_keep_running) e_dbus_server_hold (server); e_dbus_server_run (server, opt_wait_for_client); g_object_unref (server); g_print ("Bye.\n"); return 0; }