diff options
| author | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2008-06-02 14:34:58 +0000 | 
|---|---|---|
| committer | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2008-06-02 14:34:58 +0000 | 
| commit | b6029c0ffd7facd5f41bd665c84043d08961847d (patch) | |
| tree | 76de65ffbf222a3f080a5e79c301639761b5ab99 /audio/device.c | |
| parent | 08e3720b8860a0aef687e841533bd30ee22cc534 (diff) | |
Make audio service to use libgdbus functions.
Diffstat (limited to 'audio/device.c')
| -rw-r--r-- | audio/device.c | 53 | 
1 files changed, 24 insertions, 29 deletions
| diff --git a/audio/device.c b/audio/device.c index 6b8c5318..c9608b96 100644 --- a/audio/device.c +++ b/audio/device.c @@ -54,7 +54,7 @@  #include "headset.h"  #include "sink.h" -static DBusHandlerResult device_get_address(DBusConnection *conn, +static DBusMessage *device_get_address(DBusConnection *conn,  						DBusMessage *msg, void *data)  {  	struct audio_device *device = data; @@ -63,14 +63,14 @@ static DBusHandlerResult device_get_address(DBusConnection *conn,  	reply = dbus_message_new_method_return(msg);  	if (!reply) -		return DBUS_HANDLER_RESULT_NEED_MEMORY; +		return NULL;  	ba2str(&device->dst, address);  	dbus_message_append_args(reply, DBUS_TYPE_STRING, &ptr,  							DBUS_TYPE_INVALID); -	return send_message_and_unref(conn, reply); +	return reply;  }  static char *get_dev_name(DBusConnection *conn, const bdaddr_t *src, @@ -87,7 +87,7 @@ static char *get_dev_name(DBusConnection *conn, const bdaddr_t *src,  	return textfile_caseget(filename, address);  } -static DBusHandlerResult device_get_name(DBusConnection *conn, +static DBusMessage *device_get_name(DBusConnection *conn,  						DBusMessage *msg, void *data)  {  	struct audio_device *dev = data; @@ -96,15 +96,15 @@ static DBusHandlerResult device_get_name(DBusConnection *conn,  	reply = dbus_message_new_method_return(msg);  	if (!reply) -		return DBUS_HANDLER_RESULT_NEED_MEMORY; +		return NULL;  	dbus_message_append_args(reply, DBUS_TYPE_STRING, &name,  					DBUS_TYPE_INVALID); -	return send_message_and_unref(conn, reply); +	return reply;  } -static DBusHandlerResult device_get_adapter(DBusConnection *conn, +static DBusMessage *device_get_adapter(DBusConnection *conn,  						DBusMessage *msg, void *data)  {  	struct audio_device *device = data; @@ -113,18 +113,18 @@ static DBusHandlerResult device_get_adapter(DBusConnection *conn,  	reply = dbus_message_new_method_return(msg);  	if (!reply) -		return DBUS_HANDLER_RESULT_NEED_MEMORY; +		return NULL;  	ba2str(&device->src, address);  	dbus_message_append_args(reply, DBUS_TYPE_STRING, &ptr,  							DBUS_TYPE_INVALID); -	return send_message_and_unref(conn, reply); +	return reply;  } -static DBusHandlerResult device_get_connected(DBusConnection *conn, +static DBusMessage *device_get_connected(DBusConnection *conn,  						DBusMessage *msg, void *data)  {  	DBusMessageIter iter, array_iter; @@ -134,7 +134,7 @@ static DBusHandlerResult device_get_connected(DBusConnection *conn,  	reply = dbus_message_new_method_return(msg);  	if (!reply) -		return DBUS_HANDLER_RESULT_NEED_MEMORY; +		return NULL;  	dbus_message_iter_init_append(reply, &iter); @@ -151,15 +151,15 @@ static DBusHandlerResult device_get_connected(DBusConnection *conn,  	dbus_message_iter_close_container(&iter, &array_iter); -	return send_message_and_unref(conn, reply); +	return reply;  } -static DBusMethodVTable device_methods[] = { -	{ "GetAddress",			device_get_address,	"",	"s" }, -	{ "GetName",			device_get_name,	"",	"s" }, -	{ "GetAdapter",			device_get_adapter,	"",	"s" }, -	{ "GetConnectedInterfaces",	device_get_connected,	"",	"as" }, -	{ NULL, NULL, NULL, NULL } +static GDBusMethodTable device_methods[] = { +	{ "GetAddress",			"",	"s",	device_get_address }, +	{ "GetName",			"",	"s",	device_get_name }, +	{ "GetAdapter",			"",	"s",	device_get_adapter }, +	{ "GetConnectedInterfaces",	"",	"as",	device_get_connected }, +	{ }  };  static void device_free(struct audio_device *dev) @@ -183,7 +183,7 @@ static void device_free(struct audio_device *dev)  	g_free(dev);  } -static void device_unregister(DBusConnection *conn, void *data) +static void device_unregister(void *data)  {  	struct audio_device *device = data; @@ -216,18 +216,13 @@ struct audio_device *device_register(DBusConnection *conn,  		return NULL;  	} -	if (!dbus_connection_create_object_path(conn, path, dev, -							device_unregister)) { -		error("D-Bus failed to register %s path", path); -		device_free(dev); -		return NULL; -	} - -	if (!dbus_connection_register_interface(conn, path, -			AUDIO_DEVICE_INTERFACE, device_methods, NULL, NULL)) { +	if (!g_dbus_register_interface(conn, path, +					AUDIO_DEVICE_INTERFACE, +					device_methods, NULL, NULL, +					dev, device_unregister)) {  		error("Failed to register %s interface to %s",  					AUDIO_DEVICE_INTERFACE, path); -		dbus_connection_destroy_object_path(conn, path); +		device_free(dev);  		return NULL;  	} | 
