从https://launchpad.net/ubuntu/+source/dbus/1.10.6-1ubuntu2下载需要的dbus包,然后解压,./configure make && make install
client.c
- #include <stdio.h>
- #include <stdlib.h>
- #include <dbus/dbus.h>
- #include <unistd.h>
- const int RES_SUCCESS = -1;
- const int RES_FAILED = 0;
- int my_dbus_initialization(char const * _bus_name, DBusConnection ** _conn) {
- DBusError err;
- int ret;
- dbus_error_init(&err);
- *_conn = dbus_bus_get(DBUS_BUS_SESSION, &err);
- if(dbus_error_is_set(&err)) {
- printf("Connection Error\n");
- dbus_error_free(&err);
- return RES_FAILED;
- }
- ret = dbus_bus_request_name(*_conn, _bus_name, DBUS_NAME_FLAG_REPLACE_EXISTING, &err);
- if(dbus_error_is_set(&err)){
- printf("Requece name error \n");
- dbus_error_free(&err);
- return RES_FAILED;
- }
- if(DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER != ret) {
- return RES_FAILED;
- }