#define PUB_SSI "Extra bytes in the publisher discovery"
#define UPDATE_PUB_SSI "Updated Specific Information"
#define SUB_SSI "Arbitrary bytes for the subscribe discovery"
+#define UPDATE_SUB_SSI "Updated Arbitrary bytes for the subscribe discovery"
#define MSG_SUB_TO_PUB "Let's talk"
#define MSG_PUB_TO_SUB "Ready"
#define PASSPHRASE "Some super secret password"
CMD_CANCEL_PUBLISH,
CMD_UPDATE_PUBLISH,
CMD_SUBSCRIBE,
+ CMD_UPDATE_SUBSCRIBE,
CMD_CANCEL_SUBSCRIBE,
CMD_MESSAGE_RECV_CB,
= "UPDATE PUBLISH",
[CMD_SUBSCRIBE]
= "SUBSCRIBE",
+ [CMD_UPDATE_SUBSCRIBE]
+ = "UPDATE_SUBSCRIBE",
[CMD_CANCEL_SUBSCRIBE]
= "CANCEL SUBSCRIBE",
g_session_type = 1;
}
+static void __updated_subscribe_cb(wifi_aware_session_h session,
+ wifi_aware_error_e error, void *user_data)
+{
+ if (error == WIFI_AWARE_ERROR_NONE)
+ printf("Update Subscribe Request is success. Subscribe ID: [*]\n");
+ else
+ printf("Update Subscribe Request is fail.\n");
+}
+
+void test_update_subscribe()
+{
+ int ret = 0;
+ unsigned char specific_info[MAX_SPECIFIC_INFO_LEN + 1] = {0, };
+ size_t len = 0;
+
+ RET_IF_LOOP_IS_NULL();
+ RET_IF_SESSION_IS_NULL();
+
+ if (g_subscribe_handle == NULL) {
+ printf("subscribe should be done\n");
+ return;
+ }
+
+ len = strlen(UPDATE_SUB_SSI);
+ memcpy(specific_info, UPDATE_SUB_SSI, len);
+ ret = wifi_aware_subscribe_set_service_specific_info(g_subscribe_handle,
+ specific_info, len);
+ if (ret != WIFI_AWARE_ERROR_NONE)
+ return;
+
+ ret = wifi_aware_session_update_subscribe(g_wifi_aware_session, g_subscribe_handle, __updated_subscribe_cb, NULL);
+ __print_result(ret, "wifi_aware_update_subscribe");
+}
+
void test_cancel_subscribe()
{
int ret = 0;
[CMD_CANCEL_PUBLISH] = test_cancel_publish,
[CMD_UPDATE_PUBLISH] = test_update_publish,
[CMD_SUBSCRIBE] = test_subscribe,
+ [CMD_UPDATE_SUBSCRIBE] = test_update_subscribe,
[CMD_CANCEL_SUBSCRIBE] = test_cancel_subscribe,
[CMD_MESSAGE_RECV_CB] = test_message_recv_cb,
[CMD_SEND_MESSAGE] = test_send_message,