X-Git-Url: http://git.maemo.org/git/?p=browser-switch;a=blobdiff_plain;f=main.c;h=af022c8507f0b17c91db8705933d900e864149f6;hp=568732df0902d1ca90a703f10c3f0c0555ba7a75;hb=66427a46de07429172b40f29cf257055c9f58f48;hpb=d24b2827669cb4fdb6ce1aadf7fc38f64369fd35 diff --git a/main.c b/main.c index 568732d..af022c8 100644 --- a/main.c +++ b/main.c @@ -53,7 +53,7 @@ static void read_config(int signalnum) { /* continuous mode is required on Fremantle */ ctx.continuous_mode = 1; if (!cfg.continuous_mode) - log_msg("WARNING: continuous_mode = 0 operation no longer supported, ignoring config setting"); + log_msg("continuous_mode = 0 operation no longer supported, ignoring config setting\n"); #else ctx.continuous_mode = cfg.continuous_mode; #endif @@ -79,6 +79,7 @@ static void read_config(int signalnum) { int main() { OssoBrowser *obj_osso_browser, *obj_osso_browser_req; + OssoBrowser *obj_osso_browser_sys, *obj_osso_browser_sys_req; GMainLoop *mainloop; GError *error = NULL; int reqname_result; @@ -141,21 +142,43 @@ int main() { error->message); return 1; } - if (reqname_result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { + if (reqname_result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { log_msg("Another browser-switchboard already running\n"); return 1; } + /* Get a connection to the D-Bus system bus */ + ctx.system_bus = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error); + if (!ctx.system_bus) { + log_msg("Couldn't get a D-Bus system bus connection\n"); + return 1; + } + ctx.dbus_system_proxy = dbus_g_proxy_new_for_name(ctx.system_bus, + "org.freedesktop.DBus", "/org/freedesktop/DBus", + "org.freedesktop.DBus"); + if (!ctx.dbus_system_proxy) { + log_msg("Couldn't get an org.freedesktop.DBus proxy\n"); + return 1; + } + dbus_request_osso_browser_name(&ctx); /* Register ourselves to handle the osso_browser D-Bus methods */ obj_osso_browser = g_object_new(OSSO_BROWSER_TYPE, NULL); obj_osso_browser_req = g_object_new(OSSO_BROWSER_TYPE, NULL); + obj_osso_browser_sys = g_object_new(OSSO_BROWSER_TYPE, NULL); + obj_osso_browser_sys_req = g_object_new(OSSO_BROWSER_TYPE, NULL); dbus_g_connection_register_g_object(ctx.session_bus, "/com/nokia/osso_browser", G_OBJECT(obj_osso_browser)); dbus_g_connection_register_g_object(ctx.session_bus, "/com/nokia/osso_browser/request", G_OBJECT(obj_osso_browser_req)); + dbus_g_connection_register_g_object(ctx.system_bus, + "/com/nokia/osso_browser", + G_OBJECT(obj_osso_browser_sys)); + dbus_g_connection_register_g_object(ctx.system_bus, + "/com/nokia/osso_browser/request", + G_OBJECT(obj_osso_browser_sys_req)); mainloop = g_main_loop_new(NULL, FALSE); log_msg("Starting main loop\n");