[maemo-commits] [maemo-commits] r17306 - in projects/haf/trunk/libosso: debian src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Jan 28 14:19:37 EET 2009
- Previous message: [maemo-commits] r17305 - in projects/haf/trunk/libosso: debian src
- Next message: [maemo-commits] r17307 - in projects/haf/trunk/clutter: clutter/x11 debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: kihamala Date: 2009-01-28 14:19:34 +0200 (Wed, 28 Jan 2009) New Revision: 17306 Modified: projects/haf/trunk/libosso/debian/changelog projects/haf/trunk/libosso/src/osso-init.c Log: not released yet.. Modified: projects/haf/trunk/libosso/debian/changelog =================================================================== --- projects/haf/trunk/libosso/debian/changelog 2009-01-28 11:30:06 UTC (rev 17305) +++ projects/haf/trunk/libosso/debian/changelog 2009-01-28 12:19:34 UTC (rev 17306) @@ -1,4 +1,4 @@ -libosso (2.17-1) unstable; urgency=low +libosso (2.17-1~unreleased) unstable; urgency=low Armin Burgmeier <armin at openismus.com>: Modified: projects/haf/trunk/libosso/src/osso-init.c =================================================================== --- projects/haf/trunk/libosso/src/osso-init.c 2009-01-28 11:30:06 UTC (rev 17305) +++ projects/haf/trunk/libosso/src/osso-init.c 2009-01-28 12:19:34 UTC (rev 17306) @@ -145,6 +145,64 @@ return osso; } +osso_context_t *osso_initialize_with_connections(const gchar *application, + const gchar *version, + DBusConnection *system_conn, + DBusConnection *session_conn) +{ + osso_context_t *osso; + int ret; + DBusError err; + + ULOG_DEBUG_F("application '%s', version '%s'", application, version); + + osso = _init(application, version); + if (osso == NULL) { + ULOG_CRIT_F("initialization failed: out of memory"); + return NULL; + } + + /* session connection */ + osso->conn = session_conn; + if (osso->conn == NULL || + !dbus_connection_add_filter(session_conn, _msg_handler, osso, NULL)) + { + ULOG_ERR_F("session connection is not good"); + _deinit(osso); + return NULL; + } + dbus_error_init(&err); + ret = dbus_bus_request_name(session_conn, osso->service, + DBUS_NAME_FLAG_ALLOW_REPLACEMENT, &err); + if (ret == -1) { + ULOG_ERR_F("dbus_bus_request_name failed: %s", err.message); + dbus_error_free(&err); + _deinit(osso); + return NULL; + } + + /* system connection */ + osso->sys_conn = system_conn; + if (osso->sys_conn == NULL || + !dbus_connection_add_filter(system_conn, _msg_handler, osso, NULL)) + { + ULOG_ERR_F("system connection is not good"); + _deinit(osso); + return NULL; + } + ret = dbus_bus_request_name(system_conn, osso->service, + DBUS_NAME_FLAG_ALLOW_REPLACEMENT, &err); + if (ret == -1) { + ULOG_ERR_F("dbus_bus_request_name failed: %s", err.message); + dbus_error_free(&err); + _deinit(osso); + return NULL; + } + + osso->cur_conn = NULL; + return osso; +} + muali_context_t *muali_init(const char *program_name, const char *program_version, GMainContext *context) @@ -316,7 +374,8 @@ } } -static osso_context_t *_init(const gchar *application, const gchar *version) +static osso_context_t *_init(const gchar *application, + const gchar *version) { osso_context_t *osso; @@ -560,7 +619,8 @@ dbus_connection_remove_filter(conn, _muali_filter_session, osso); dbus_connection_remove_filter(conn, _muali_filter_system, osso); } - dbus_bus_release_name(conn, osso->service, NULL); + if (osso->service != NULL) + dbus_bus_release_name(conn, osso->service, NULL); #ifdef LIBOSSO_DEBUG dbus_connection_remove_filter(conn, _debug_filter, NULL); #endif
- Previous message: [maemo-commits] r17305 - in projects/haf/trunk/libosso: debian src
- Next message: [maemo-commits] r17307 - in projects/haf/trunk/clutter: clutter/x11 debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]