diff options
| author | Johan Hedberg <johan.hedberg@nokia.com> | 2007-01-15 18:38:58 +0000 | 
|---|---|---|
| committer | Johan Hedberg <johan.hedberg@nokia.com> | 2007-01-15 18:38:58 +0000 | 
| commit | 467f83c3ac4e4afba959e8cfd8aadb0f1614c9fb (patch) | |
| tree | 0a783f172e5ba87596094dc857f8c5cb63a1b37f /audio | |
| parent | e1a0779f9e09f4620fdbb977f9e0a67caafdc5f3 (diff) | |
Preliminary support for catching the unique bus name of an execed service
Diffstat (limited to 'audio')
| -rw-r--r-- | audio/headset.c | 77 | 
1 files changed, 4 insertions, 73 deletions
diff --git a/audio/headset.c b/audio/headset.c index 144d2668..8499781b 100644 --- a/audio/headset.c +++ b/audio/headset.c @@ -1040,28 +1040,6 @@ static DBusHandlerResult stop_message(DBusConnection *conn,  	return DBUS_HANDLER_RESULT_HANDLED;  } -static DBusHandlerResult release_message(DBusConnection *conn, -						DBusMessage *msg, void *data) -{ -	DBusMessage *reply; - -	reply = dbus_message_new_method_return(msg); -	if (!reply) { -		error("Can't create reply message"); -		return DBUS_HANDLER_RESULT_NEED_MEMORY; -	} - -	dbus_connection_send(conn, reply, NULL); - -	dbus_message_unref(reply); - -	info("Got Release method. Exiting."); - -	raise(SIGTERM); - -	return DBUS_HANDLER_RESULT_HANDLED; -} -  static DBusHandlerResult hs_message(DBusConnection *conn,  					DBusMessage *msg, void *data)  { @@ -1075,8 +1053,6 @@ static DBusHandlerResult hs_message(DBusConnection *conn,  			return start_message(conn, msg, data);  		if (strcmp(member, "Stop") == 0)  			return stop_message(conn, msg, data); -		if (strcmp(member, "Release") == 0) -			return release_message(conn, msg, data);  		return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;  	} @@ -1112,38 +1088,8 @@ static const DBusObjectPathVTable hs_table = {  	.message_function = hs_message,  }; -static void register_reply(DBusPendingCall *call, void *data) -{ -	DBusMessage *reply = dbus_pending_call_steal_reply(call); -	DBusError derr; - -	dbus_error_init(&derr); -	if (dbus_set_error_from_message(&derr, reply)) { -		error("Registering failed: %s", derr.message); -		dbus_error_free(&derr); -		dbus_message_unref(reply); -		raise(SIGTERM); -		return; -	} - -	debug("Successfully registered headset service"); - -	dbus_message_unref(reply); - -	if (config_channel) -		record_id = add_ag_record(config_channel); - -	if (on_init_bda) -		hs_connect(NULL, NULL, on_init_bda); -} -  int headset_dbus_init(char *bda)  { -	DBusMessage *msg; -	DBusPendingCall *pending; -	const char *name = "Headset service"; -	const char *description = "A service for headsets"; -  	connection = init_dbus(NULL, NULL, NULL);  	if (!connection)  		return -1; @@ -1154,26 +1100,11 @@ int headset_dbus_init(char *bda)  		return -1;  	} -	msg = dbus_message_new_method_call("org.bluez", "/org/bluez", -					"org.bluez.Manager", "RegisterService"); -	if (!msg) { -		error("Can't allocate new method call"); -		return -1; -	} - -	dbus_message_append_args(msg, DBUS_TYPE_STRING, &hs_path, -					DBUS_TYPE_STRING, &name, -					DBUS_TYPE_STRING, &description, -					DBUS_TYPE_INVALID); - -	if (!dbus_connection_send_with_reply(connection, msg, &pending, -1)) { -		error("Sending Register method call failed"); -		dbus_message_unref(msg); -		return -1; -	} +	if (config_channel) +		record_id = add_ag_record(config_channel); -	dbus_pending_call_set_notify(pending, register_reply, NULL, NULL); -	dbus_message_unref(msg); +	if (on_init_bda) +		hs_connect(NULL, NULL, on_init_bda);  	return 0;  }  | 
