X-Git-Url: http://git.maemo.org/git/?p=browser-switch;a=blobdiff_plain;f=main.c;h=2e19b84bcff28cbad281d6525bcbf4605077bdc4;hp=568732df0902d1ca90a703f10c3f0c0555ba7a75;hb=41f4b720bf39224fd9be93d3b92f2c1b894eead4;hpb=d24b2827669cb4fdb6ce1aadf7fc38f64369fd35 diff --git a/main.c b/main.c index 568732d..2e19b84 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 @@ -66,6 +66,9 @@ static void read_config(int signalnum) { } else ctx.other_browser_cmd = NULL; update_default_browser(&ctx, cfg.default_browser); +#ifdef FREMANTLE + ctx.autostart_microb = cfg.autostart_microb; +#endif log_msg("continuous_mode: %d\n", cfg.continuous_mode); log_msg("default_browser: '%s'\n", cfg.default_browser); @@ -79,6 +82,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 +145,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");