for (i = 0; i < char_info->flags_length; i++) {
g_variant_builder_add(builder2, "s",
char_info->char_flags[i]);
- if (strncmp(char_info->char_flags[i], "write-without-response", 16) == 0)
+
+ if (strncmp(char_info->char_flags[i], "write-without-response", 16) == 0) {
+ DBG("setting WriteAcquired property");
writeAcquired = TRUE;
+ }
- if (strncmp(char_info->char_flags[i], "notify", 4) == 0)
+ if (strncmp(char_info->char_flags[i], "notify", 4) == 0) {
+ DBG("setting NotifyAcquired property");
notifyAcquired = TRUE;
+ }
}
flags_val = g_variant_new("as", builder2);
g_variant_builder_add(inner_builder, "{sv}", "Notifying",
g_variant_new("b", notify));
- /* Unicast */
- g_variant_builder_add(inner_builder, "{sv}", "WriteAcquired",
+ /* WriteAcquired */
+ if (writeAcquired == TRUE) {
+ DBG("adding WriteAcquired property");
+ g_variant_builder_add(inner_builder, "{sv}", "WriteAcquired",
g_variant_new("b", writeAcquired));
+ }
/* NotifyAcquired */
- g_variant_builder_add(inner_builder, "{sv}", "NotifyAcquired",
- g_variant_new("b", notifyAcquired));
+ if (notifyAcquired == TRUE) {
+ DBG("adding NotifyAcquired property");
+ g_variant_builder_add(inner_builder, "{sv}", "NotifyAcquired",
+ g_variant_new("b", notifyAcquired));
+ }
/* Unicast */
unicast = g_strdup("00:00:00:00:00:00");
g_variant_builder_add(outer_builder, "{sv}", "Notifying",
g_variant_new("b", notify));
- _bt_hal_convert_addr_type_to_string(addr, (unsigned char *)conn_info->addr);
+ memcpy(addr, conn_info->addr, BT_HAL_ADDRESS_STRING_SIZE);
+ DBG("Send Indication to Unicast addr [%s]", addr);
g_variant_builder_add(outer_builder, "{sv}", "Unicast",
g_variant_new("s", addr));