X-Git-Url: http://git.maemo.org/git/?p=browser-switch;a=blobdiff_plain;f=main.c;h=a6d2c89cd3fd1812540fb83d1f91f30c91c17f17;hp=568732df0902d1ca90a703f10c3f0c0555ba7a75;hb=dbcb6cd8e6d1a12daa21a6aa17738adf026cf069;hpb=074b02973ab2530b312ef04cbaced00ab7351e57 diff --git a/main.c b/main.c index 568732d..a6d2c89 100644 --- a/main.c +++ b/main.c @@ -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; @@ -146,16 +147,38 @@ int main() { 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");