X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fservice.c;h=dd4f191921235d5bec35e157dac542eb4827057e;hb=0a6425147f6e3bd165c8302bdc3205fb958fd065;hp=da60efc23c070b20de9e6003c97b95c4e106dd6a;hpb=a0d511db71460d6bd1c1685613e511772c886a4a;p=platform%2Fupstream%2Fconnman.git diff --git a/src/service.c b/src/service.c index da60efc..dd4f191 100755 --- a/src/service.c +++ b/src/service.c @@ -860,6 +860,9 @@ static int service_ext_load(struct connman_service *service) int i; int err = 0; +#if defined TIZEN_EXT + if (!simplified_log) +#endif DBG("service %p", service); if (!service->network) @@ -1036,7 +1039,9 @@ static int service_load(struct connman_service *service) #if defined TIZEN_EXT && defined TIZEN_EXT_EAP_ON_ETHERNET bool use_eapol; #endif - +#if defined TIZEN_EXT + if (!simplified_log) +#endif DBG("service %p", service); keyfile = connman_storage_load_service(service->identifier); @@ -2964,6 +2969,31 @@ static void default_changed(void) __connman_notifier_default_changed(service); } +#if defined TIZEN_EXT +static void append_struct(gpointer value, gpointer user_data); + +static void emit_state_changed_with_properties(struct connman_service *service) +{ + DBusMessage *signal; + DBusMessageIter iter; + + if (!service) + return; + + signal = dbus_message_new_signal(service->path, CONNMAN_SERVICE_INTERFACE, + "StateChangedProperties"); + if (!signal) + return; + + dbus_message_iter_init_append(signal, &iter); + append_struct(service, &iter); + + g_dbus_send_message(connection, signal); + + return; +} +#endif + static void state_changed(struct connman_service *service) { const char *str; @@ -2977,14 +3007,17 @@ static void state_changed(struct connman_service *service) #if !defined TIZEN_EXT if (!allow_property_changed(service)) return; - -#endif -#if defined TIZEN_EXT +#else DBG(" %s, %s", str, service->path); #endif + connman_dbus_property_changed_basic(service->path, CONNMAN_SERVICE_INTERFACE, "State", DBUS_TYPE_STRING, &str); + +#if defined TIZEN_EXT + emit_state_changed_with_properties(service); +#endif } #if defined TIZEN_EXT @@ -4381,8 +4414,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); + val = service->hidden_service; connman_dbus_dict_append_basic(dict, "Hidden", - DBUS_TYPE_BOOLEAN, &service->hidden_service); + DBUS_TYPE_BOOLEAN, &val); break; #endif @@ -4390,7 +4424,7 @@ static void append_properties(DBusMessageIter *dict, dbus_bool_t limited, #if defined TIZEN_EXT && defined TIZEN_EXT_EAP_ON_ETHERNET connman_dbus_dict_append_dict(dict, "EapOverEthernet", append_eap_over_ethernet, service); - + /* fall through */ #endif /* defined TIZEN_EXT && defined TIZEN_EXT_EAP_ON_ETHERNET */ case CONNMAN_SERVICE_TYPE_BLUETOOTH: case CONNMAN_SERVICE_TYPE_GADGET: @@ -6258,6 +6292,9 @@ static void preferred_tech_add_by_type(gpointer data, gpointer user_data) tech_data->preferred_list = g_list_append(tech_data->preferred_list, service); +#if defined TIZEN_EXT + if (!simplified_log) +#endif DBG("type %d service %p %s", tech_data->type, service, service->name); } @@ -6464,6 +6501,13 @@ static bool auto_connect_service(GList *services, if (autoconnect_no_session_active(service)) return true; #endif +#if defined TIZEN_EXT + if (service->type == CONNMAN_SERVICE_TYPE_WIFI) { + int index = connman_network_get_index(service->network); + wifi_ignore = g_slist_prepend(wifi_ignore, GINT_TO_POINTER(index)); + autoconnecting = true; + } +#endif ignore[service->type] = true; } #if defined TIZEN_EXT @@ -7052,6 +7096,9 @@ static void service_append_added_foreach(gpointer data, gpointer user_data) append_struct(service, iter); g_hash_table_remove(services_notify->add, service->path); } else { +#if defined TIZEN_EXT + if (!simplified_log) +#endif DBG("changed %s", service->path); append_struct_service(iter, NULL, service); @@ -7260,6 +7307,9 @@ static DBusMessage *downgrade_service(DBusConnection *conn, static void service_schedule_added(struct connman_service *service) { +#if defined TIZEN_EXT + if (!simplified_log) +#endif DBG("service %p", service); g_hash_table_remove(services_notify->remove, service->path); @@ -7328,6 +7378,10 @@ static const GDBusMethodTable service_methods[] = { static const GDBusSignalTable service_signals[] = { { GDBUS_SIGNAL("PropertyChanged", GDBUS_ARGS({ "name", "s" }, { "value", "v" })) }, +#if defined TIZEN_EXT + { GDBUS_SIGNAL("StateChangedProperties", + GDBUS_ARGS({ "properties", "a{sv}" })) }, +#endif { }, }; @@ -7453,6 +7507,9 @@ static void stats_init(struct connman_service *service) static void service_initialize(struct connman_service *service) { +#if defined TIZEN_EXT + if (!simplified_log) +#endif DBG("service %p", service); service->refcount = 1; @@ -7600,6 +7657,9 @@ static int calculate_score_last_user_selection(struct connman_service *service) struct tm* ref_timeinfo; device = connman_network_get_device(service->network); + if (!device) + return 0; + last_user_selection_time = connman_device_get_last_user_selection_time(device); last_user_selection_ident = connman_device_get_last_user_selection_ident(device); frequency = connman_network_get_frequency(service->network); @@ -8727,6 +8787,14 @@ static int service_indicate_state(struct connman_service *service) searchdomain_remove_all(service); service->state = new_state; +#if defined TIZEN_EXT + if (!is_connected(old_state) && is_connected(new_state)) + connman_device_send_connected_signal( + connman_network_get_device(service->network), true); + else if (is_connected(old_state) && !is_connected(new_state)) + connman_device_send_connected_signal( + connman_network_get_device(service->network), false); +#endif state_changed(service); if (!is_connected(old_state) && is_connected(new_state)) @@ -8831,10 +8899,6 @@ static int service_indicate_state(struct connman_service *service) #if defined TIZEN_EXT if (service->type == CONNMAN_SERVICE_TYPE_WIFI) set_priority_connected_service(); - - if (!is_connected(old_state)) - connman_device_send_connected_signal( - connman_network_get_device(service->network), true); #endif break; @@ -8926,10 +8990,6 @@ static int service_indicate_state(struct connman_service *service) (old_state == CONNMAN_SERVICE_STATE_READY && new_state != CONNMAN_SERVICE_STATE_ONLINE)) { __connman_notifier_disconnect(service->type); -#if defined TIZEN_EXT - connman_device_send_connected_signal( - connman_network_get_device(service->network), false); -#endif } if (new_state == CONNMAN_SERVICE_STATE_ONLINE) { @@ -9959,7 +10019,9 @@ static struct connman_service *service_get(const char *identifier) service = connman_service_create(); if (!service) return NULL; - +#if defined TIZEN_EXT + if (!simplified_log) +#endif DBG("service %p", service); service->identifier = g_strdup(identifier); @@ -9974,6 +10036,9 @@ static struct connman_service *service_get(const char *identifier) static int service_register(struct connman_service *service) { +#if defined TIZEN_EXT + if (!simplified_log) +#endif DBG("service %p", service); if (service->path) @@ -9991,7 +10056,7 @@ static int service_register(struct connman_service *service) if (ret == -ERANGE) service_ext_save(service); ret = __connman_config_provision_service(service); - if (ret < 0) + if (ret < 0 && !simplified_log) DBG("Failed to provision service"); #else if (__connman_config_provision_service(service) < 0) @@ -10607,7 +10672,8 @@ void __connman_service_notify_strength_changed(struct connman_network *network) return; service->strength = strength; - DBG("Strength %d", strength); + if (!simplified_log) + DBG("Strength %d", strength); strength_changed(service); service_list_sort(); }