diff options
| author | Ulisses Furquim <ulissesf@gmail.com> | 2006-10-26 13:09:55 +0000 | 
|---|---|---|
| committer | Ulisses Furquim <ulissesf@gmail.com> | 2006-10-26 13:09:55 +0000 | 
| commit | c68ca971b1158a0f4783fb87663b25c464bbaf45 (patch) | |
| tree | 8be4d96f4607e17a72600b009060bfe903c8a62f | |
| parent | 1ea14f37c8eb76a1e9420d884a36c1fd293b5472 (diff) | |
Make Manager.ListServices() return an array of object paths
| -rw-r--r-- | hcid/dbus-manager.c | 8 | ||||
| -rw-r--r-- | hcid/dbus-service.c | 6 | 
2 files changed, 10 insertions, 4 deletions
| diff --git a/hcid/dbus-manager.c b/hcid/dbus-manager.c index d8c34348..3f6a0a4e 100644 --- a/hcid/dbus-manager.c +++ b/hcid/dbus-manager.c @@ -195,6 +195,7 @@ static DBusHandlerResult list_services(DBusConnection *conn,  {  	DBusMessage *reply;  	DBusMessageIter iter; +	DBusMessageIter array_iter;  	if (!dbus_message_has_signature(msg, DBUS_TYPE_INVALID_AS_STRING))  		return error_invalid_arguments(conn, msg); @@ -204,7 +205,12 @@ static DBusHandlerResult list_services(DBusConnection *conn,  		return DBUS_HANDLER_RESULT_NEED_MEMORY;  	dbus_message_iter_init_append(reply, &iter); -	append_available_services(&iter); +	dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, +				DBUS_TYPE_STRING_AS_STRING, &array_iter); + +	append_available_services(&array_iter); + +	dbus_message_iter_close_container(&iter, &array_iter);  	return send_message_and_unref(conn, reply);  } diff --git a/hcid/dbus-service.c b/hcid/dbus-service.c index a8c10560..be035081 100644 --- a/hcid/dbus-service.c +++ b/hcid/dbus-service.c @@ -401,14 +401,14 @@ int unregister_service_agent(DBusConnection *conn, const char *sender, const cha  	return 0;  } -void append_available_services(DBusMessageIter *iter) +void append_available_services(DBusMessageIter *array_iter)  {  	struct slist *l = services;  	const char *path;  	while (l) {  		path = l->data; -		dbus_message_iter_append_basic(iter, -				DBUS_TYPE_STRING, &path); +		dbus_message_iter_append_basic(array_iter, +					DBUS_TYPE_STRING, &path);  		l = l->next;  	}  } | 
