aboutsummaryrefslogtreecommitdiffstats
path: root/src/empathy-main.c
diff options
context:
space:
mode:
authorXavier Claessens <xclaesse@gmail.com>2007-06-14 21:04:45 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2007-06-14 21:04:45 +0800
commit9dc3fd8854b3f9255ba8ab5aceca30f6d12b61e4 (patch)
treea2a12eac4237cb0b5ee1d330f91a3e9458ba788e /src/empathy-main.c
parent92b095154e6c804d2d7138689629f32856eddd15 (diff)
downloadgsoc2013-empathy-9dc3fd8854b3f9255ba8ab5aceca30f6d12b61e4.tar
gsoc2013-empathy-9dc3fd8854b3f9255ba8ab5aceca30f6d12b61e4.tar.gz
gsoc2013-empathy-9dc3fd8854b3f9255ba8ab5aceca30f6d12b61e4.tar.bz2
gsoc2013-empathy-9dc3fd8854b3f9255ba8ab5aceca30f6d12b61e4.tar.lz
gsoc2013-empathy-9dc3fd8854b3f9255ba8ab5aceca30f6d12b61e4.tar.xz
gsoc2013-empathy-9dc3fd8854b3f9255ba8ab5aceca30f6d12b61e4.tar.zst
gsoc2013-empathy-9dc3fd8854b3f9255ba8ab5aceca30f6d12b61e4.zip
Empathy is no more splitted into 2 processes. It makes debugging more
2007-06-14 Xavier Claessens <xclaesse@gmail.com> * src/org.gnome.Empathy.Chat.service.in: * src/empathy-accounts.c: * src/empathy-accounts-main.c: * src/empathy-chat-main.c: * src/empathy.c: * src/Makefile.am: * src/empathy-main.c: * libempathy/gossip-chatroom-manager.c: * autogen.sh: Empathy is no more splitted into 2 processes. It makes debugging more difficult when emmpathy-chat crashes. It's also more optimised like that since contact objects can be shared. svn path=/trunk/; revision=154
Diffstat (limited to 'src/empathy-main.c')
-rw-r--r--src/empathy-main.c189
1 files changed, 0 insertions, 189 deletions
diff --git a/src/empathy-main.c b/src/empathy-main.c
deleted file mode 100644
index 92a66b2c8..000000000
--- a/src/empathy-main.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Copyright (C) 2007 Collabora Ltd.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: Xavier Claessens <xclaesse@gmail.com>
- */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include <glib.h>
-#include <glib/gi18n.h>
-#include <gtk/gtk.h>
-
-#include <libgnome/gnome-program.h>
-#include <libgnomeui/gnome-ui-init.h>
-
-#include <libmissioncontrol/mc-account.h>
-#include <libmissioncontrol/mc-account-monitor.h>
-#include <libmissioncontrol/mission-control.h>
-
-#include <libempathy/gossip-debug.h>
-#include <libempathy/gossip-utils.h>
-#include <libempathy/gossip-presence.h>
-#include <libempathy-gtk/empathy-main-window.h>
-#include <libempathy-gtk/empathy-status-icon.h>
-
-#define DEBUG_DOMAIN "EmpathyMain"
-
-static void error_cb (MissionControl *mc,
- GError *error,
- gpointer data);
-static void service_ended_cb (MissionControl *mc,
- gpointer user_data);
-static void operation_error_cb (MissionControl *mc,
- guint operation_id,
- guint error_code,
- gpointer user_data);
-static void start_mission_control (MissionControl *mc);
-
-static void
-error_cb (MissionControl *mc,
- GError *error,
- gpointer data)
-{
- if (error) {
- gossip_debug (DEBUG_DOMAIN, "Error: %s", error->message);
- }
-}
-
-static void
-service_ended_cb (MissionControl *mc,
- gpointer user_data)
-{
- gossip_debug (DEBUG_DOMAIN, "Mission Control stopped");
-}
-
-static void
-operation_error_cb (MissionControl *mc,
- guint operation_id,
- guint error_code,
- gpointer user_data)
-{
- gossip_debug (DEBUG_DOMAIN, "Error code %d during operation %d",
- error_code,
- operation_id);
-}
-
-static void
-account_enabled_cb (McAccountMonitor *monitor,
- gchar *unique_name,
- MissionControl *mc)
-{
- gossip_debug (DEBUG_DOMAIN, "Account enabled: %s", unique_name);
- start_mission_control (mc);
-}
-
-static void
-start_mission_control (MissionControl *mc)
-{
- McPresence presence;
-
- presence = mission_control_get_presence_actual (mc, NULL);
-
- if (presence > MC_PRESENCE_OFFLINE) {
- /* MC is already running and online, nothing to do */
- return;
- }
-
- gossip_debug (DEBUG_DOMAIN, "Starting Mission Control...");
-
- mission_control_set_presence (mc,
- MC_PRESENCE_AVAILABLE,
- NULL,
- (McCallback) error_cb,
- NULL);
-}
-
-int
-main (int argc, char *argv[])
-{
- EmpathyStatusIcon *icon;
- GtkWidget *window;
- MissionControl *mc;
- McAccountMonitor *monitor;
- GnomeProgram *program;
- gboolean no_connect = FALSE;
- GOptionContext *context;
- GOptionEntry options[] = {
- { "no-connect", 'n',
- 0, G_OPTION_ARG_NONE, &no_connect,
- N_("Don't connect on startup"),
- NULL },
- { NULL }
- };
-
- bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
- textdomain (GETTEXT_PACKAGE);
-
- context = g_option_context_new (_("- Empathy Instant Messenger"));
- g_option_context_add_main_entries (context, options, GETTEXT_PACKAGE);
-
- g_set_application_name (PACKAGE_NAME);
-
- program = gnome_program_init ("empathy",
- PACKAGE_VERSION,
- LIBGNOMEUI_MODULE,
- argc, argv,
- GNOME_PROGRAM_STANDARD_PROPERTIES,
- "goption-context", context,
- GNOME_PARAM_HUMAN_READABLE_NAME, PACKAGE_NAME,
- NULL);
-
- gtk_window_set_default_icon_name ("empathy");
- gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
- DATADIR G_DIR_SEPARATOR_S "empathy");
-
- /* Setting up MC */
- monitor = mc_account_monitor_new ();
- mc = gossip_mission_control_new ();
- g_signal_connect (monitor, "account-enabled",
- G_CALLBACK (account_enabled_cb),
- mc);
- g_signal_connect (mc, "ServiceEnded",
- G_CALLBACK (service_ended_cb),
- NULL);
- g_signal_connect (mc, "Error",
- G_CALLBACK (operation_error_cb),
- NULL);
-
- if (!no_connect) {
- start_mission_control (mc);
- }
-
- /* Setting up UI */
- window = empathy_main_window_show ();
- icon = empathy_status_icon_new (GTK_WINDOW (window));
-
- gtk_main ();
-
- mission_control_set_presence (mc,
- MC_PRESENCE_OFFLINE,
- NULL, NULL, NULL);
-
- g_object_unref (monitor);
- g_object_unref (mc);
- g_object_unref (icon);
- g_object_unref (program);
-
- return EXIT_SUCCESS;
-}
-