diff options
| -rw-r--r-- | serial/manager.c | 12 | 
1 files changed, 10 insertions, 2 deletions
| diff --git a/serial/manager.c b/serial/manager.c index 6b10c13d..cbd1ea21 100644 --- a/serial/manager.c +++ b/serial/manager.c @@ -145,6 +145,7 @@ static int port_register(DBusConnection *conn,  				const char *path, const char *owner)  {  	struct serial_port *sp; +	DBusMessage *signal;  	if (!conn || !owner)  		return -EINVAL; @@ -162,6 +163,15 @@ static int port_register(DBusConnection *conn,  		return -1;  	} +	signal = dbus_message_new_signal(SERIAL_MANAGER_PATH, +				SERIAL_MANAGER_INTERFACE, "PortCreated"); + +	dbus_message_append_args(signal, +			DBUS_TYPE_STRING, &path, +			DBUS_TYPE_INVALID); + +	send_message_and_unref(conn, signal); +  	info("Registered serial port path:%s", path);  	return 0; @@ -220,8 +230,6 @@ static DBusHandlerResult create_port(DBusConnection *conn,  	snprintf(port_path, PATH_LENGTH, SERIAL_PORT_PATH"%d", next_id++); -	/* FIXME: Send signal */ -  	if (port_register(conn, port_path, dbus_message_get_sender(msg)) < 0) {  		dbus_message_unref(reply);  		return err_failed(conn, msg, "D-Bus path registration failed"); | 
