Update RSSI/Strength of connected service using SignalPoll event
[platform/upstream/connman.git] / src / service.c
index 7b01002..85bcc31 100644 (file)
@@ -3500,6 +3500,9 @@ static void append_properties(DBusMessageIter *dict, dbus_bool_t limited,
                connman_dbus_dict_append_basic(dict, "AssocStatusCode",
                                DBUS_TYPE_INT32, &service->assoc_status_code);
 
+               connman_dbus_dict_append_basic(dict, "Hidden",
+                               DBUS_TYPE_BOOLEAN, &service->hidden_service);
+
                break;
 #endif
        case CONNMAN_SERVICE_TYPE_ETHERNET:
@@ -4208,6 +4211,7 @@ int __connman_service_set_passphrase(struct connman_service *service,
        err = 0;
        if (service->security != CONNMAN_SERVICE_SECURITY_PSK &&
                        service->security != CONNMAN_SERVICE_SECURITY_RSN &&
+                       service->security != CONNMAN_SERVICE_SECURITY_SAE &&
                        service->security != CONNMAN_SERVICE_SECURITY_WEP)
 #endif
        err = __connman_service_check_passphrase(service->security, passphrase);
@@ -9278,6 +9282,30 @@ struct connman_service * __connman_service_create_from_network(struct connman_ne
        return service;
 }
 
+#if defined TIZEN_EXT
+void __connman_service_notify_strength_changed(struct connman_network *network)
+{
+       struct connman_service *service;
+       uint8_t strength = 0;
+
+       service = connman_service_lookup_from_network(network);
+       if (!service)
+               return;
+
+       if (!service->network)
+               return;
+
+       strength = connman_network_get_strength(service->network);
+       if (strength == service->strength)
+               return;
+
+       service->strength = strength;
+       DBG("Strength %d", strength);
+       strength_changed(service);
+       service_list_sort();
+}
+#endif
+
 void __connman_service_update_from_network(struct connman_network *network)
 {
        bool need_sort = false;