| OLD | NEW |
| 1 /* | 1 /* |
| 2 * | 2 * |
| 3 * Connection Manager | 3 * Connection Manager |
| 4 * | 4 * |
| 5 * Copyright (C) 2007-2009 Intel Corporation. All rights reserved. | 5 * Copyright (C) 2007-2009 Intel Corporation. All rights reserved. |
| 6 * | 6 * |
| 7 * This program is free software; you can redistribute it and/or modify | 7 * This program is free software; you can redistribute it and/or modify |
| 8 * it under the terms of the GNU General Public License version 2 as | 8 * it under the terms of the GNU General Public License version 2 as |
| 9 * published by the Free Software Foundation. | 9 * published by the Free Software Foundation. |
| 10 * | 10 * |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 | 44 |
| 45 struct connman_service { | 45 struct connman_service { |
| 46 gint refcount; | 46 gint refcount; |
| 47 char *identifier; | 47 char *identifier; |
| 48 char *path; | 48 char *path; |
| 49 enum connman_service_type type; | 49 enum connman_service_type type; |
| 50 enum connman_service_mode mode; | 50 enum connman_service_mode mode; |
| 51 enum connman_service_security security; | 51 enum connman_service_security security; |
| 52 enum connman_service_state state; | 52 enum connman_service_state state; |
| 53 enum connman_service_error error; | 53 enum connman_service_error error; |
| 54 enum connman_service_connectivity_state connectivity_state; |
| 54 connman_uint8_t strength; | 55 connman_uint8_t strength; |
| 55 connman_bool_t favorite; | 56 connman_bool_t favorite; |
| 56 connman_bool_t hidden; | 57 connman_bool_t hidden; |
| 57 connman_bool_t ignore; | 58 connman_bool_t ignore; |
| 58 connman_bool_t autoconnect; | 59 connman_bool_t autoconnect; |
| 59 connman_bool_t userconnect; | 60 connman_bool_t userconnect; |
| 60 connman_bool_t active; | 61 connman_bool_t active; |
| 61 GTimeVal modified; | 62 GTimeVal modified; |
| 62 char *name; | 63 char *name; |
| 63 char *passphrase; | 64 char *passphrase; |
| 64 char *identity; | 65 char *identity; |
| 65 char *certpath; | 66 char *certpath; |
| 66 char *authpath; | 67 char *authpath; |
| 67 char *profile; | 68 char *profile; |
| 68 | 69 |
| 69 /* TODO(sleffler) overlay storage */ | 70 /* TODO(sleffler) overlay storage */ |
| 70 struct { | 71 struct { |
| 71 char *operator_name; | 72 char *operator_name; |
| 72 char *operator_code; | 73 char *operator_code; |
| 73 char *olp_url; | 74 char *olp_url; |
| 74 char *usage_url; | 75 char *usage_url; |
| 75 enum connman_network_activation_state activation_state; | 76 enum connman_network_activation_state activation_state; |
| 76 enum connman_network_cellular_technology network_technology; | 77 enum connman_network_cellular_technology network_technology; |
| 77 enum connman_network_cellular_roaming_state roaming_state; | 78 enum connman_network_cellular_roaming_state roaming_state; |
| 78 connman_bool_t restricted_pool; | |
| 79 } cellular; | 79 } cellular; |
| 80 struct { | 80 struct { |
| 81 unsigned int wep_key_len; | 81 unsigned int wep_key_len; |
| 82 connman_uint8_t wep_key_idx; | 82 connman_uint8_t wep_key_idx; |
| 83 connman_uint8_t wep_key_matter[MAX_WEP_KEYSPACE]; | 83 connman_uint8_t wep_key_matter[MAX_WEP_KEYSPACE]; |
| 84 connman_bool_t hidden_ssid; | 84 connman_bool_t hidden_ssid; |
| 85 } wifi; | 85 } wifi; |
| 86 | 86 |
| 87 struct connman_device *device; | 87 struct connman_device *device; |
| 88 struct connman_network *network; | 88 struct connman_network *network; |
| (...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 421 case CONNMAN_NETWORK_ROAMING_STATE_UNKNOWN: | 421 case CONNMAN_NETWORK_ROAMING_STATE_UNKNOWN: |
| 422 return "unknown"; | 422 return "unknown"; |
| 423 case CONNMAN_NETWORK_ROAMING_STATE_HOME: | 423 case CONNMAN_NETWORK_ROAMING_STATE_HOME: |
| 424 return "home"; | 424 return "home"; |
| 425 case CONNMAN_NETWORK_ROAMING_STATE_ROAMING: | 425 case CONNMAN_NETWORK_ROAMING_STATE_ROAMING: |
| 426 return "roaming"; | 426 return "roaming"; |
| 427 } | 427 } |
| 428 return NULL; | 428 return NULL; |
| 429 } | 429 } |
| 430 | 430 |
| 431 static const char *connectivity_state2string( |
| 432 enum connman_service_connectivity_state connectivity) |
| 433 { |
| 434 switch(connectivity) { |
| 435 case CONNMAN_SERVICE_CONNECTIVITY_STATE_UNKNOWN: |
| 436 return "unknown"; |
| 437 case CONNMAN_SERVICE_CONNECTIVITY_STATE_UNRESTRICTED: |
| 438 return "unrestricted"; |
| 439 case CONNMAN_SERVICE_CONNECTIVITY_STATE_RESTRICTED: |
| 440 return "restricted"; |
| 441 case CONNMAN_SERVICE_CONNECTIVITY_STATE_NONE: |
| 442 return "none"; |
| 443 } |
| 444 return NULL; |
| 445 } |
| 446 |
| 431 static struct connman_service *get_active_service(void) | 447 static struct connman_service *get_active_service(void) |
| 432 { | 448 { |
| 433 struct connman_service *service; | 449 struct connman_service *service; |
| 434 GSequenceIter *iter; | 450 GSequenceIter *iter; |
| 435 | 451 |
| 436 iter = g_sequence_get_begin_iter(service_list); | 452 iter = g_sequence_get_begin_iter(service_list); |
| 437 | 453 |
| 438 if (g_sequence_iter_is_end(iter) == TRUE) { | 454 if (g_sequence_iter_is_end(iter) == TRUE) { |
| 439 _DBG_SERVICE("no services"); | 455 _DBG_SERVICE("no services"); |
| 440 return NULL; | 456 return NULL; |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 662 connman_dbus_dict_append_variant(&dict, "AutoConnect", | 678 connman_dbus_dict_append_variant(&dict, "AutoConnect", |
| 663 DBUS_TYPE_BOOLEAN, &service->favorite); | 679 DBUS_TYPE_BOOLEAN, &service->favorite); |
| 664 | 680 |
| 665 connman_dbus_dict_append_variant(&dict, "IsActive", | 681 connman_dbus_dict_append_variant(&dict, "IsActive", |
| 666 DBUS_TYPE_BOOLEAN, &service->active); | 682 DBUS_TYPE_BOOLEAN, &service->active); |
| 667 | 683 |
| 668 if (service->name != NULL) | 684 if (service->name != NULL) |
| 669 connman_dbus_dict_append_variant(&dict, "Name", | 685 connman_dbus_dict_append_variant(&dict, "Name", |
| 670 DBUS_TYPE_STRING, &service->name); | 686 DBUS_TYPE_STRING, &service->name); |
| 671 | 687 |
| 688 str = connectivity_state2string(service->connectivity_state); |
| 689 if (str != NULL) |
| 690 connman_dbus_dict_append_variant(&dict, "ConnectivityState", |
| 691 DBUS_TYPE_STRING, &str); |
| 692 |
| 672 device = connman_service_get_device(service); | 693 device = connman_service_get_device(service); |
| 673 if (device != NULL) { | 694 if (device != NULL) { |
| 674 const char *path = connman_device_get_path(device); | 695 const char *path = connman_device_get_path(device); |
| 675 if (path != NULL) | 696 if (path != NULL) |
| 676 connman_dbus_dict_append_variant(&dict, "Device", | 697 connman_dbus_dict_append_variant(&dict, "Device", |
| 677 DBUS_TYPE_OBJECT_PATH, &path); | 698 DBUS_TYPE_OBJECT_PATH, &path); |
| 678 } | 699 } |
| 679 | 700 |
| 680 switch (service->type) { | 701 switch (service->type) { |
| 681 case CONNMAN_SERVICE_TYPE_UNKNOWN: | 702 case CONNMAN_SERVICE_TYPE_UNKNOWN: |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 722 if (service->cellular.olp_url != NULL) { | 743 if (service->cellular.olp_url != NULL) { |
| 723 connman_dbus_dict_append_variant(&dict, | 744 connman_dbus_dict_append_variant(&dict, |
| 724 "Cellular.OlpUrl", DBUS_TYPE_STRING, | 745 "Cellular.OlpUrl", DBUS_TYPE_STRING, |
| 725 &service->cellular.olp_url); | 746 &service->cellular.olp_url); |
| 726 } | 747 } |
| 727 if (service->cellular.usage_url != NULL) { | 748 if (service->cellular.usage_url != NULL) { |
| 728 connman_dbus_dict_append_variant(&dict, | 749 connman_dbus_dict_append_variant(&dict, |
| 729 "Cellular.UsageUrl", DBUS_TYPE_STRING, | 750 "Cellular.UsageUrl", DBUS_TYPE_STRING, |
| 730 &service->cellular.usage_url); | 751 &service->cellular.usage_url); |
| 731 } | 752 } |
| 732 connman_dbus_dict_append_variant(&dict, | |
| 733 "Cellular.RestrictedPool", DBUS_TYPE_BOOLEAN, | |
| 734 &service->cellular.restricted_pool); | |
| 735 break; | 753 break; |
| 736 case CONNMAN_SERVICE_TYPE_WIFI: | 754 case CONNMAN_SERVICE_TYPE_WIFI: |
| 737 connman_dbus_dict_append_variant(&dict, "WiFi.HiddenSSID", | 755 connman_dbus_dict_append_variant(&dict, "WiFi.HiddenSSID", |
| 738 DBUS_TYPE_BOOLEAN, &service->wifi.hidden_ssid); | 756 DBUS_TYPE_BOOLEAN, &service->wifi.hidden_ssid); |
| 739 | 757 |
| 740 if (service->network != NULL) { | 758 if (service->network != NULL) { |
| 741 connman_uint16_t frequency; | 759 connman_uint16_t frequency; |
| 742 enum connman_network_phymode phymode; | 760 enum connman_network_phymode phymode; |
| 743 | 761 |
| 744 frequency = connman_network_get_uint16(service->network, | 762 frequency = connman_network_get_uint16(service->network, |
| (...skipping 855 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1600 } | 1618 } |
| 1601 if (oroam != roaming_state && roam_str != NULL) { | 1619 if (oroam != roaming_state && roam_str != NULL) { |
| 1602 (void) connman_dbus_send_property_changed_variant( | 1620 (void) connman_dbus_send_property_changed_variant( |
| 1603 service->path, | 1621 service->path, |
| 1604 CONNMAN_SERVICE_INTERFACE, | 1622 CONNMAN_SERVICE_INTERFACE, |
| 1605 "Cellular.RoamingState", | 1623 "Cellular.RoamingState", |
| 1606 DBUS_TYPE_STRING, &roam_str); | 1624 DBUS_TYPE_STRING, &roam_str); |
| 1607 } | 1625 } |
| 1608 } | 1626 } |
| 1609 | 1627 |
| 1610 void connman_service_set_restricted_pool(struct connman_service *service, | 1628 void connman_service_set_connectivity_state(struct connman_service *service, |
| 1611 » » » » » connman_bool_t restricted) | 1629 enum connman_service_connectivity_state connectivity) |
| 1612 { | 1630 { |
| 1613 » connman_bool_t orestricted = service->cellular.restricted_pool; | 1631 » enum connman_service_connectivity_state |
| 1614 » service->cellular.restricted_pool = restricted; | 1632 » » oconnectivity = service->connectivity_state; |
| 1615 » if (orestricted != restricted) | 1633 » const char *state_str = connectivity_state2string(connectivity); |
| 1634 |
| 1635 » service->connectivity_state = connectivity; |
| 1636 » if (oconnectivity != connectivity) { |
| 1637 » » /* TODO(jglasgow): remove once chrome is updated */ |
| 1638 » » gboolean restricted = |
| 1639 » » » (connectivity == CONNMAN_SERVICE_CONNECTIVITY_STATE_REST
RICTED) || |
| 1640 » » » (connectivity == CONNMAN_SERVICE_CONNECTIVITY_STATE_NONE
); |
| 1641 » » (void) connman_dbus_send_property_changed_variant( |
| 1642 » » » service->path, |
| 1643 » » » CONNMAN_SERVICE_INTERFACE, |
| 1644 » » » "Cellular.RestrictedPool", |
| 1645 » » » DBUS_TYPE_BOOLEAN, &restricted); |
| 1646 » » /* TODO(jglasgow): end of deprecated code */ |
| 1647 |
| 1616 (void) connman_dbus_send_property_changed_variant( | 1648 (void) connman_dbus_send_property_changed_variant( |
| 1617 service->path, | 1649 service->path, |
| 1618 CONNMAN_SERVICE_INTERFACE, | 1650 CONNMAN_SERVICE_INTERFACE, |
| 1619 » » » » "Cellular.RestrictedPool", | 1651 » » » » "ConnectivityState", |
| 1620 » » » » DBUS_TYPE_BOOLEAN, &restricted); | 1652 » » » » DBUS_TYPE_STRING, &state_str); |
| 1653 » } |
| 1621 } | 1654 } |
| 1622 | 1655 |
| 1623 static void remove_timeout(struct connman_service *service) | 1656 static void remove_timeout(struct connman_service *service) |
| 1624 { | 1657 { |
| 1625 if (service->timeout > 0) { | 1658 if (service->timeout > 0) { |
| 1626 gboolean ret = g_source_remove(service->timeout); | 1659 gboolean ret = g_source_remove(service->timeout); |
| 1627 DBG(DBG_SERVICE | DBG_WIFI, "service %p timeout %d ret %d", | 1660 DBG(DBG_SERVICE | DBG_WIFI, "service %p timeout %d ret %d", |
| 1628 service, service->timeout, ret); | 1661 service, service->timeout, ret); |
| 1629 | 1662 |
| 1630 service->timeout = 0; | 1663 service->timeout = 0; |
| (...skipping 2323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3954 service_list = NULL; | 3987 service_list = NULL; |
| 3955 | 3988 |
| 3956 g_hash_table_destroy(service_hash); | 3989 g_hash_table_destroy(service_hash); |
| 3957 service_hash = NULL; | 3990 service_hash = NULL; |
| 3958 | 3991 |
| 3959 connman_storage_unregister(&service_storage); | 3992 connman_storage_unregister(&service_storage); |
| 3960 connman_notifier_unregister(&service_notifier); | 3993 connman_notifier_unregister(&service_notifier); |
| 3961 | 3994 |
| 3962 dbus_connection_unref(connection); | 3995 dbus_connection_unref(connection); |
| 3963 } | 3996 } |
| OLD | NEW |