dundee: return error if there is a connection procedure ongoing

This commit is contained in:
Gustavo Padovan 2013-06-24 17:14:02 +01:00 committed by Daniel Wagner
parent d6a601f8d1
commit a96aa11bb5
3 changed files with 11 additions and 0 deletions

View File

@ -44,6 +44,13 @@ DBusMessage *__dundee_error_failed(DBusMessage *msg)
"Operation failed");
}
DBusMessage *__dundee_error_in_progress(DBusMessage *msg)
{
return g_dbus_create_error(msg, DUNDEE_ERROR_INTERFACE
".InProgress",
"Operation already in progress");
}
DBusMessage *__dundee_error_timed_out(DBusMessage *msg)
{
return g_dbus_create_error(msg, DUNDEE_ERROR_INTERFACE ".Timedout",

View File

@ -456,6 +456,9 @@ static DBusMessage *set_property_active(struct dundee_device *device,
if (dbus_message_iter_get_arg_type(var) != DBUS_TYPE_BOOLEAN)
return __dundee_error_invalid_args(msg);
if (device->pending)
return __dundee_error_in_progress(msg);
dbus_message_iter_get_basic(var, &active);
device->pending = dbus_message_ref(msg);

View File

@ -96,6 +96,7 @@ void __ofono_dbus_pending_reply(DBusMessage **msg, DBusMessage *reply);
DBusMessage *__dundee_error_invalid_args(DBusMessage *msg);
DBusMessage *__dundee_error_failed(DBusMessage *msg);
DBusMessage *__dundee_error_in_progress(DBusMessage *msg);
DBusMessage *__dundee_error_timed_out(DBusMessage *msg);