Diff between b5f48fb4fe335beac719bc510a22ab73c3e944ff and 70489204d769568707d9a7607981c197e935391e

Changed Files

File Additions Deletions Status
src/gatt-database.c +3 -1 modified
src/shared/att-types.h +10 -0 modified
src/shared/att.c +0 -10 modified

Full Patch

diff --git a/src/gatt-database.c b/src/gatt-database.c
index 26e4fae..2261398 100644
--- a/src/gatt-database.c
+++ b/src/gatt-database.c
@@ -1441,7 +1441,6 @@ static bool parse_primary(GDBusProxy *proxy, bool *primary)
 
 static uint8_t dbus_error_to_att_ecode(const char *error_name)
 {
-	/* TODO: Parse error ATT ecode from error_message */
 
 	if (strcmp(error_name, "org.bluez.Error.Failed") == 0)
 		return 0x80;  /* For now return this "application error" */
@@ -1455,6 +1454,9 @@ static uint8_t dbus_error_to_att_ecode(const char *error_name)
 	if (strcmp(error_name, "org.bluez.Error.InvalidValueLength") == 0)
 		return BT_ATT_ERROR_INVALID_ATTRIBUTE_VALUE_LEN;
 
+	if (strcmp(error_name, "org.bluez.Error.InProgress") == 0)
+		return BT_ERROR_ALREADY_IN_PROGRESS;
+
 	return 0;
 }
 
diff --git a/src/shared/att-types.h b/src/shared/att-types.h
index aa7f0da..10a42f2 100644
--- a/src/shared/att-types.h
+++ b/src/shared/att-types.h
@@ -92,6 +92,16 @@ struct bt_att_pdu_error_rsp {
 #define BT_ATT_ERROR_INSUFFICIENT_RESOURCES		0x11
 
 /*
+ * Common Profile and Service Error Code descriptions (see Supplement to the
+ * Bluetooth Core Specification, sections 1.2 and 2). The error codes within
+ * 0xE0-0xFC are reserved for future use. The remaining 3 are defined as the
+ * following:
+ */
+#define BT_ERROR_CCC_IMPROPERLY_CONFIGURED      0xfd
+#define BT_ERROR_ALREADY_IN_PROGRESS            0xfe
+#define BT_ERROR_OUT_OF_RANGE                   0xff
+
+/*
  * ATT attribute permission bitfield values. Permissions are grouped as
  * "Access", "Encryption", "Authentication", and "Authorization". A bitmask of
  * permissions is a byte that encodes a combination of these.
diff --git a/src/shared/att.c b/src/shared/att.c
index 422cc2c..b920eb8 100644
--- a/src/shared/att.c
+++ b/src/shared/att.c
@@ -43,16 +43,6 @@
 #define ATT_OP_SIGNED_MASK		0x80
 #define ATT_TIMEOUT_INTERVAL		30000  /* 30000 ms */
 
-/*
- * Common Profile and Service Error Code descriptions (see Supplement to the
- * Bluetooth Core Specification, sections 1.2 and 2). The error codes within
- * 0xE0-0xFC are reserved for future use. The remaining 3 are defined as the
- * following:
- */
-#define BT_ERROR_CCC_IMPROPERLY_CONFIGURED	0xfd
-#define BT_ERROR_ALREADY_IN_PROGRESS		0xfe
-#define BT_ERROR_OUT_OF_RANGE			0xff
-
 /* Length of signature in write signed packet */
 #define BT_ATT_SIGNATURE_LEN		12