return WIFI_DIRECT_ERROR_NONE;
}
+int wifi_direct_foreach_supported_channel(wifi_direct_supported_channel_cb cb, void* user_data)
+{
+ __WDC_LOG_FUNC_START__;
+
+ CHECK_FEATURE_SUPPORTED(WIFIDIRECT_FEATURE);
+
+ GError* error = NULL;
+ GVariant *reply = NULL;
+ GVariantIter *iter = NULL;
+ int ret = WIFI_DIRECT_ERROR_NONE;
+ unsigned int channel;
+
+ if (g_client_info.is_registered == false) {
+ WDC_LOGE("Client is NOT registered");
+ __WDC_LOG_FUNC_END__;
+ return WIFI_DIRECT_ERROR_NOT_INITIALIZED;
+ }
+
+ if (!cb) {
+ WDC_LOGE("NULL Param [callback]!");
+ __WDC_LOG_FUNC_END__;
+ return WIFI_DIRECT_ERROR_INVALID_PARAMETER;
+ }
+
+ reply = wifi_direct_dbus_method_call_sync(WFD_MANAGER_CONFIG_INTERFACE,
+ "GetSupportedChannels",
+ NULL,
+ &error);
+
+ ret = __net_wifidirect_gerror_to_enum(error);
+ if (ret != WIFI_DIRECT_ERROR_NONE)
+ return ret;
+
+ g_variant_get(reply, "(iau)", &ret, &iter);
+ if (ret != WIFI_DIRECT_ERROR_NONE) {
+ __WDC_LOG_FUNC_END__;
+ return WIFI_DIRECT_ERROR_OPERATION_FAILED;
+ }
+
+ WDC_LOGD("wifi_direct_foreach_supported_channel() SUCCESS");
+
+ while (g_variant_iter_loop(iter, "u", &channel)) {
+ if (!cb(channel, user_data))
+ break;
+ }
+ g_variant_iter_free(iter);
+ g_variant_unref(reply);
+
+ WDC_LOGD("%s() return : [%d]", __func__, ret);
+ __WDC_LOG_FUNC_END__;
+ return ret;
+}
+
EXPORT_API int wifi_direct_activate_pushbutton(void)
{
__WDC_LOG_FUNC_START__;