Merge branch 'stable' into 'main'
[ladish.git] / gui / dbus.c
bloba39593632ef6432fec1d46582e0e7e92b8c0243c
1 /* -*- Mode: C ; c-basic-offset: 2 -*- */
2 /*
3 * LADI Session Handler (ladish)
5 * Copyright (C) 2010,2011,2014 Nedko Arnaudov <nedko@arnaudov.name>
7 **************************************************************************
8 * This file contains D-Bus related code
9 **************************************************************************
11 * LADI Session Handler is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
16 * LADI Session Handler is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with LADI Session Handler. If not, see <http://www.gnu.org/licenses/>
23 * or write to the Free Software Foundation, Inc.,
24 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
27 #include "internal.h"
28 #include <cdbus/cdbus.h>
29 //#include <dbus/dbus-glib-lowlevel.h>
31 bool dbus_init(void)
33 dbus_error_init(&cdbus_g_dbus_error);
35 // Connect to the bus
36 cdbus_g_dbus_connection = dbus_bus_get(DBUS_BUS_SESSION, &cdbus_g_dbus_error);
37 if (dbus_error_is_set(&cdbus_g_dbus_error))
39 log_error("Cannot connect to session bus: %s", cdbus_g_dbus_error.message);
40 dbus_error_free(&cdbus_g_dbus_error);
41 return false;
44 dbus_connection_setup_with_g_main(cdbus_g_dbus_connection, NULL);
45 return true;
48 void dbus_uninit(void)
50 if (cdbus_g_dbus_connection)
52 dbus_connection_flush(cdbus_g_dbus_connection);
55 if (dbus_error_is_set(&cdbus_g_dbus_error))
57 dbus_error_free(&cdbus_g_dbus_error);
60 cdbus_call_last_error_cleanup();