diff --git a/src/error.c b/src/error.c
index 1214516..41dd904 100644
--- a/src/error.c
+++ b/src/error.c
"%s", str);
}
+DBusMessage *btd_error_profile_unavailable(DBusMessage *msg)
+{
+ return g_dbus_create_error(msg, ERROR_INTERFACE
+ ".ProfileUnavailable",
+ "Exhausted the list of BR/EDR "
+ "profiles to connect to");
+}
+
DBusMessage *btd_error_failed(DBusMessage *msg, const char *str)
{
return g_dbus_create_error(msg, ERROR_INTERFACE
return ERR_BREDR_CONN_ALREADY_CONNECTED;
case EHOSTDOWN:
return ERR_BREDR_CONN_PAGE_TIMEOUT;
- case ENOPROTOOPT:
- return ERR_BREDR_CONN_PROFILE_UNAVAILABLE;
case EIO:
return ERR_BREDR_CONN_CREATE_SOCKET;
case EINVAL:
DBusMessage *btd_error_bredr_errno(DBusMessage *msg, int err)
{
- return btd_error_failed(msg, btd_error_bredr_str(err));
+ switch (err) {
+ case ENOPROTOOPT:
+ return btd_error_profile_unavailable(msg);
+ default:
+ return btd_error_failed(msg, btd_error_bredr_str(err));
+ }
}
DBusMessage *btd_error_le_errno(DBusMessage *msg, int err)
diff --git a/src/error.h b/src/error.h
index 8ac521a..64297f4 100644
--- a/src/error.h
+++ b/src/error.h
#define ERR_BREDR_CONN_ALREADY_CONNECTED "br-connection-already-"\
"connected"
#define ERR_BREDR_CONN_PAGE_TIMEOUT "br-connection-page-timeout"
-#define ERR_BREDR_CONN_PROFILE_UNAVAILABLE "br-connection-profile-"\
- "unavailable"
#define ERR_BREDR_CONN_SDP_SEARCH "br-connection-sdp-search"
#define ERR_BREDR_CONN_CREATE_SOCKET "br-connection-create-socket"
#define ERR_BREDR_CONN_INVALID_ARGUMENTS "br-connection-invalid-"\
DBusMessage *btd_error_agent_not_available(DBusMessage *msg);
DBusMessage *btd_error_not_ready(DBusMessage *msg);
DBusMessage *btd_error_not_ready_str(DBusMessage *msg, const char *str);
+DBusMessage *btd_error_profile_unavailable(DBusMessage *msg);
DBusMessage *btd_error_failed(DBusMessage *msg, const char *str);
DBusMessage *btd_error_bredr_errno(DBusMessage *msg, int err);
DBusMessage *btd_error_le_errno(DBusMessage *msg, int err);