conn = G_DBUS_CONNECTION(source_object);
g_dbus_connection_call_finish(conn, res, &error);
if (error != NULL) {
- Error = __net_netconfig_error_string_to_enum(error->message);
+ NETWORK_LOG(NETWORK_ERROR, "Specific scan failed. Error [%s]", error->message);
+ Error = __net_error_string_to_enum(error->message);
g_error_free(error);
}
return Error;
}
+static void __net_scan_reply(GObject *source_object, GAsyncResult *res, gpointer user_data)
+{
+ __NETWORK_FUNC_ENTER__;
+
+ GDBusConnection *conn = NULL;
+ GError *error = NULL;
+ net_err_t Error = NET_ERR_NONE;
+ net_event_info_t event_data = { 0, };
+
+ conn = G_DBUS_CONNECTION(source_object);
+ g_dbus_connection_call_finish(conn, res, &error);
+ if (error != NULL) {
+ NETWORK_LOG(NETWORK_ERROR, "Scan failed. Error [%s]", error->message);
+ Error = __net_error_string_to_enum(error->message);
+ g_error_free(error);
+ }
+
+ if (Error != NET_ERR_NONE) {
+ NETWORK_LOG(NETWORK_ERROR, "Scan failed. Error[%d]", Error);
+
+ if (request_table[NETWORK_REQUEST_TYPE_SCAN].flag == TRUE) {
+ memset(&request_table[NETWORK_REQUEST_TYPE_SCAN],
+ 0, sizeof(network_request_table_t));
+
+ event_data.Event = NET_EVENT_WIFI_SCAN_RSP;
+ event_data.Datalength = 0;
+ event_data.Data = NULL;
+ event_data.Error = Error;
+
+ _net_dbus_pending_call_unref();
+
+ _net_client_callback(&event_data);
+
+ __NETWORK_FUNC_EXIT__;
+ return;
+ }
+ } else
+ NETWORK_LOG(NETWORK_ERROR, "Scan Request success");
+
+ _net_dbus_pending_call_unref();
+
+ __NETWORK_FUNC_EXIT__;
+}
+
int _net_dbus_scan_request(void)
{
__NETWORK_FUNC_ENTER__;
Error = _net_invoke_dbus_method_nonblock(CONNMAN_SERVICE,
CONNMAN_WIFI_TECHNOLOGY_PREFIX,
CONNMAN_TECHNOLOGY_INTERFACE, "Scan", NULL,
- DBUS_REPLY_TIMEOUT, NULL);
+ DBUS_REPLY_TIMEOUT, __net_scan_reply);
if (Error == NET_ERR_IN_PROGRESS)
Error = NET_ERR_NONE;