} while (0)
#define SERVICE_NAME "CtsVerifierTestService"
+#define UPDATE_SERVICE_NAME "UpdatedServiceName"
#define MATCH_FILTER "bytes used for matching"
#define PUB_SSI "Extra bytes in the publisher discovery"
#define SUB_SSI "Arbitrary bytes for the subscribe discovery"
CMD_ENABLE,
CMD_PUBLISH,
CMD_CANCEL_PUBLISH,
+ CMD_UPDATE_PUBLISH,
CMD_SUBSCRIBE,
CMD_CANCEL_SUBSCRIBE,
= "PUBLISH",
[CMD_CANCEL_PUBLISH]
= "CANCEL PUBLISH",
+ [CMD_UPDATE_PUBLISH]
+ = "UPDATE PUBLISH",
[CMD_SUBSCRIBE]
= "SUBSCRIBE",
[CMD_CANCEL_SUBSCRIBE]
__print_result(ret, "wifi_aware_cancel_publish");
}
+static void __updated_publish_cb(wifi_aware_error_e error, wifi_aware_publish_h publish, void *user_data)
+{
+ if (error == WIFI_AWARE_ERROR_NONE)
+ printf("Update Publish Request is success. Publish ID: [*]\n");
+ else
+ printf("Update Publish Request is fail.\n");
+}
+
+void test_update_publish()
+{
+ int ret = 0;
+ unsigned char service_name[MAX_SERVICE_NAME_LEN + 1] = {0, };
+ size_t len = 0;
+
+ RET_IF_LOOP_IS_NULL();
+ RET_IF_HANDLE_IS_NULL();
+
+ if (g_publish_handle == NULL) {
+ printf("publish should be done\n");
+ return;
+ }
+
+ len = strlen(UPDATE_SERVICE_NAME);
+ memcpy(service_name, UPDATE_SERVICE_NAME, len);
+ ret = wifi_aware_publish_set_service_name(g_publish_handle,
+ service_name, len);
+ if (ret != WIFI_AWARE_ERROR_NONE)
+ return;
+
+ ret = wifi_aware_update_publish(g_wifi_aware_handle, g_publish_handle, __updated_publish_cb, NULL);
+ __print_result(ret, "wifi_aware_update_publish");
+}
+
static void __subscribed_cb(wifi_aware_error_e error, unsigned int subscribe_id, void *user_data)
{
g_sub_id = subscribe_id;
[CMD_ENABLE] = test_enable,
[CMD_PUBLISH] = test_publish,
[CMD_CANCEL_PUBLISH] = test_cancel_publish,
+ [CMD_UPDATE_PUBLISH] = test_update_publish,
[CMD_SUBSCRIBE] = test_subscribe,
[CMD_CANCEL_SUBSCRIBE] = test_cancel_subscribe,