Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: src/service.c

Issue 6294001: Added support for GSM in the modemmgr plugin. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/flimflam.git@master
Patch Set: Add a string mapping for NETWORK_TECHNOLOGY_GSM Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/device.c ('k') | test/mm.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 case CONNMAN_NETWORK_ACTIVATION_STATE_ACTIVATING: 383 case CONNMAN_NETWORK_ACTIVATION_STATE_ACTIVATING:
384 return "activating"; 384 return "activating";
385 case CONNMAN_NETWORK_ACTIVATION_STATE_NOT_ACTIVATED: 385 case CONNMAN_NETWORK_ACTIVATION_STATE_NOT_ACTIVATED:
386 return "not-activated"; 386 return "not-activated";
387 case CONNMAN_NETWORK_ACTIVATION_STATE_PARTIALLY_ACTIVATED: 387 case CONNMAN_NETWORK_ACTIVATION_STATE_PARTIALLY_ACTIVATED:
388 return "partially-activated"; 388 return "partially-activated";
389 } 389 }
390 return NULL; 390 return NULL;
391 } 391 }
392 392
393 static enum connman_network_activation_state string2activation_state(
394 const char *state)
395 {
396 if (g_strcmp0(state, "unknown") == 0)
397 return CONNMAN_NETWORK_ACTIVATION_STATE_UNKNOWN;
398 else if (g_strcmp0(state, "activated") == 0)
399 return CONNMAN_NETWORK_ACTIVATION_STATE_ACTIVATED;
400 else if (g_strcmp0(state, "activating") == 0)
401 return CONNMAN_NETWORK_ACTIVATION_STATE_ACTIVATING;
402 else if (g_strcmp0(state, "not-activated") == 0)
403 return CONNMAN_NETWORK_ACTIVATION_STATE_NOT_ACTIVATED;
404 else if (g_strcmp0(state, "partially-activated") == 0)
405 return CONNMAN_NETWORK_ACTIVATION_STATE_PARTIALLY_ACTIVATED;
406 return CONNMAN_NETWORK_ACTIVATION_STATE_UNKNOWN;
407 }
408
409 static const char *network_technology2string( 393 static const char *network_technology2string(
410 enum connman_network_cellular_technology technology) 394 enum connman_network_cellular_technology technology)
411 { 395 {
412 switch (technology) { 396 switch (technology) {
413 case CONNMAN_NETWORK_TECHNOLOGY_1XRTT: 397 case CONNMAN_NETWORK_TECHNOLOGY_1XRTT:
414 return "1xRTT"; 398 return "1xRTT";
415 case CONNMAN_NETWORK_TECHNOLOGY_EVDO: 399 case CONNMAN_NETWORK_TECHNOLOGY_EVDO:
416 return "EVDO"; 400 return "EVDO";
401 case CONNMAN_NETWORK_TECHNOLOGY_GSM:
402 return "GSM";
417 case CONNMAN_NETWORK_TECHNOLOGY_GPRS: 403 case CONNMAN_NETWORK_TECHNOLOGY_GPRS:
418 return "GPRS"; 404 return "GPRS";
419 case CONNMAN_NETWORK_TECHNOLOGY_EDGE: 405 case CONNMAN_NETWORK_TECHNOLOGY_EDGE:
420 return "EDGE"; 406 return "EDGE";
421 case CONNMAN_NETWORK_TECHNOLOGY_UMTS: 407 case CONNMAN_NETWORK_TECHNOLOGY_UMTS:
422 return "UMTS"; 408 return "UMTS";
423 case CONNMAN_NETWORK_TECHNOLOGY_HSPA: 409 case CONNMAN_NETWORK_TECHNOLOGY_HSPA:
424 return "HSPA"; 410 return "HSPA";
425 case CONNMAN_NETWORK_TECHNOLOGY_HSPA_PLUS: 411 case CONNMAN_NETWORK_TECHNOLOGY_HSPA_PLUS:
426 return "HSPA+"; 412 return "HSPA+";
(...skipping 1130 matching lines...) Expand 10 before | Expand all | Expand 10 after
1557 * @service: service structure 1543 * @service: service structure
1558 * @activation state: control interface 1544 * @activation state: control interface
1559 * @err: if the activation failed a reason for the failure 1545 * @err: if the activation failed a reason for the failure
1560 * 1546 *
1561 * Set the activation state of the network 1547 * Set the activation state of the network
1562 */ 1548 */
1563 void __connman_service_set_activation_state(struct connman_service *service, 1549 void __connman_service_set_activation_state(struct connman_service *service,
1564 enum connman_network_activation_state activation_state, 1550 enum connman_network_activation_state activation_state,
1565 enum connman_element_error err) 1551 enum connman_element_error err)
1566 { 1552 {
1567 struct connman_device *device;
1568
1569 const char *state = activation_state2string(activation_state); 1553 const char *state = activation_state2string(activation_state);
1570 1554
1571 if (err != CONNMAN_ELEMENT_ERROR_UNKNOWN) { 1555 if (err != CONNMAN_ELEMENT_ERROR_UNKNOWN) {
1572 service->error = __connman_element_convert_error(err); 1556 service->error = __connman_element_convert_error(err);
1573 __connman_service_indicate_state( 1557 __connman_service_indicate_state(
1574 service, 1558 service,
1575 CONNMAN_SERVICE_STATE_ACTIVATION_FAILURE); 1559 CONNMAN_SERVICE_STATE_ACTIVATION_FAILURE);
1576 } 1560 }
1577 1561
1578 » if (service->cellular.activation_state != activation_state) { 1562 » service->cellular.activation_state = activation_state;
1579 » » service->cellular.activation_state = activation_state;
1580 » » if (activation_state == CONNMAN_NETWORK_ACTIVATION_STATE_ACTIVAT ED) {
1581 » » » device = connman_service_get_device(service);
1582 » » » if (device != NULL)
1583 » » » » __connman_device_set_modem_update_time(device);
1584 » » }
1585 » » __connman_storage_save_service(service);
1586 » }
1587
1588 /* NB: connman_dbus_send_property_changed logs msg on failure */ 1563 /* NB: connman_dbus_send_property_changed logs msg on failure */
1589 (void) connman_dbus_send_property_changed_variant(service->path, 1564 (void) connman_dbus_send_property_changed_variant(service->path,
1590 CONNMAN_SERVICE_INTERFACE, "Cellular.ActivationState", 1565 CONNMAN_SERVICE_INTERFACE, "Cellular.ActivationState",
1591 DBUS_TYPE_STRING, &state); 1566 DBUS_TYPE_STRING, &state);
1592 } 1567 }
1593 1568
1594 /** 1569 /**
1595 * __connman_service_set_operator_info: 1570 * __connman_service_set_operator_info:
1596 * @service: service structure 1571 * @service: service structure
1597 * @name: operator name 1572 * @name: operator name
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1666 * @network_technology: e.g., GPRS, EDGE, HSPA, 1xRTT, EVDO, etc. 1641 * @network_technology: e.g., GPRS, EDGE, HSPA, 1xRTT, EVDO, etc.
1667 * @roaming_state: e.g., Home, Roaming 1642 * @roaming_state: e.g., Home, Roaming
1668 * 1643 *
1669 * Set network technology and roaming status information for the service. 1644 * Set network technology and roaming status information for the service.
1670 */ 1645 */
1671 void __connman_service_set_registration_info( 1646 void __connman_service_set_registration_info(
1672 struct connman_service *service, 1647 struct connman_service *service,
1673 enum connman_network_cellular_technology network_technology, 1648 enum connman_network_cellular_technology network_technology,
1674 enum connman_network_cellular_roaming_state roaming_state) 1649 enum connman_network_cellular_roaming_state roaming_state)
1675 { 1650 {
1676 » enum connman_network_cellular_technology otech = 1651 » const char *tech_str;
1677 » » » service->cellular.network_technology; 1652 » const char *roam_str;
1678 » enum connman_network_cellular_roaming_state oroam =
1679 » » » service->cellular.roaming_state;
1680 » const char *tech_str = network_technology2string(network_technology);
1681 » const char *roam_str = roaming_state2string(roaming_state);
1682 1653
1683 » service->cellular.network_technology = network_technology; 1654 » if (network_technology != CONNMAN_NETWORK_TECHNOLOGY_UNKNOWN) {
1684 » service->cellular.roaming_state = roaming_state; 1655 » » tech_str = network_technology2string(network_technology);
1685 » if (otech != network_technology && tech_str != NULL) { 1656 » » if (service->cellular.network_technology != network_technology & &
1686 » » (void) connman_dbus_send_property_changed_variant( 1657 » » tech_str != NULL) {
1687 » » » » service->path, 1658 » » » (void) connman_dbus_send_property_changed_variant(
1688 » » » » CONNMAN_SERVICE_INTERFACE, 1659 » » » » » service->path,
1689 » » » » "Cellular.NetworkTechnology", 1660 » » » » » CONNMAN_SERVICE_INTERFACE,
1690 » » » » DBUS_TYPE_STRING, &tech_str); 1661 » » » » » "Cellular.NetworkTechnology",
1662 » » » » » DBUS_TYPE_STRING, &tech_str);
1663 » » }
1664 » » service->cellular.network_technology = network_technology;
1691 } 1665 }
1692 » if (oroam != roaming_state && roam_str != NULL) { 1666 » if (roaming_state != CONNMAN_NETWORK_ROAMING_STATE_UNKNOWN) {
1693 » » (void) connman_dbus_send_property_changed_variant( 1667 » » roam_str = roaming_state2string(roaming_state);
1694 » » » » service->path, 1668 » » if (service->cellular.roaming_state != roaming_state &&
1695 » » » » CONNMAN_SERVICE_INTERFACE, 1669 » » roam_str != NULL) {
1696 » » » » "Cellular.RoamingState", 1670 » » » (void) connman_dbus_send_property_changed_variant(
1697 » » » » DBUS_TYPE_STRING, &roam_str); 1671 » » » » » service->path,
1672 » » » » » CONNMAN_SERVICE_INTERFACE,
1673 » » » » » "Cellular.RoamingState",
1674 » » » » » DBUS_TYPE_STRING, &roam_str);
1675 » » }
1676 » » service->cellular.roaming_state = roaming_state;
1698 } 1677 }
1699 } 1678 }
1700 1679
1701 void connman_service_set_connectivity_state(struct connman_service *service, 1680 void connman_service_set_connectivity_state(struct connman_service *service,
1702 enum connman_service_connectivity_state connectivity) 1681 enum connman_service_connectivity_state connectivity)
1703 { 1682 {
1704 enum connman_service_connectivity_state 1683 enum connman_service_connectivity_state
1705 oconnectivity = service->connectivity_state; 1684 oconnectivity = service->connectivity_state;
1706 const char *state_str = connectivity_state2string(connectivity); 1685 const char *state_str = connectivity_state2string(connectivity);
1707 1686
(...skipping 2094 matching lines...) Expand 10 before | Expand all | Expand 10 after
3802 3781
3803 case CONNMAN_SERVICE_TYPE_CELLULAR: 3782 case CONNMAN_SERVICE_TYPE_CELLULAR:
3804 service->favorite = g_key_file_get_boolean(keyfile, 3783 service->favorite = g_key_file_get_boolean(keyfile,
3805 service->identifier, "Favorite", NULL); 3784 service->identifier, "Favorite", NULL);
3806 3785
3807 autoconnect = g_key_file_get_boolean(keyfile, 3786 autoconnect = g_key_file_get_boolean(keyfile,
3808 service->identifier, "AutoConnect", &error); 3787 service->identifier, "AutoConnect", &error);
3809 if (error == NULL) 3788 if (error == NULL)
3810 service->autoconnect = autoconnect; 3789 service->autoconnect = autoconnect;
3811 g_clear_error(&error); 3790 g_clear_error(&error);
3812 str = g_key_file_get_string(keyfile,
3813 service->identifier,
3814 "Cellular.ActivationState", NULL);
3815 if (str != NULL) {
3816 service->cellular.activation_state =
3817 string2activation_state(str);
3818 }
3819 break; 3791 break;
3820 default: 3792 default:
3821 break; 3793 break;
3822 } 3794 }
3823 3795
3824 str = g_key_file_get_string(keyfile, 3796 str = g_key_file_get_string(keyfile,
3825 service->identifier, "Modified", NULL); 3797 service->identifier, "Modified", NULL);
3826 if (str != NULL) { 3798 if (str != NULL) {
3827 g_time_val_from_iso8601(str, &service->modified); 3799 g_time_val_from_iso8601(str, &service->modified);
3828 g_free(str); 3800 g_free(str);
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
3959 "Failure", NULL); 3931 "Failure", NULL);
3960 } 3932 }
3961 /* fall through */ 3933 /* fall through */
3962 case CONNMAN_SERVICE_TYPE_CELLULAR: 3934 case CONNMAN_SERVICE_TYPE_CELLULAR:
3963 g_key_file_set_boolean(keyfile, service->identifier, 3935 g_key_file_set_boolean(keyfile, service->identifier,
3964 "Favorite", service->favorite); 3936 "Favorite", service->favorite);
3965 3937
3966 if (service->favorite == TRUE) 3938 if (service->favorite == TRUE)
3967 g_key_file_set_boolean(keyfile, service->identifier, 3939 g_key_file_set_boolean(keyfile, service->identifier,
3968 "AutoConnect", service->autoconnect); 3940 "AutoConnect", service->autoconnect);
3969 if (service->cellular.activation_state !=
3970 CONNMAN_NETWORK_ACTIVATION_STATE_UNKNOWN)
3971 g_key_file_set_string(
3972 keyfile,
3973 service->identifier,
3974 "Cellular.ActivationState",
3975 activation_state2string(
3976 service->cellular.activation_state));
3977 break; 3941 break;
3978 default: 3942 default:
3979 break; 3943 break;
3980 } 3944 }
3981 3945
3982 str = g_time_val_to_iso8601(&service->modified); 3946 str = g_time_val_to_iso8601(&service->modified);
3983 if (str != NULL) { 3947 if (str != NULL) {
3984 g_key_file_set_string(keyfile, service->identifier, 3948 g_key_file_set_string(keyfile, service->identifier,
3985 "Modified", str); 3949 "Modified", str);
3986 g_free(str); 3950 g_free(str);
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
4089 service_list = NULL; 4053 service_list = NULL;
4090 4054
4091 g_hash_table_destroy(service_hash); 4055 g_hash_table_destroy(service_hash);
4092 service_hash = NULL; 4056 service_hash = NULL;
4093 4057
4094 connman_storage_unregister(&service_storage); 4058 connman_storage_unregister(&service_storage);
4095 connman_notifier_unregister(&service_notifier); 4059 connman_notifier_unregister(&service_notifier);
4096 4060
4097 dbus_connection_unref(connection); 4061 dbus_connection_unref(connection);
4098 } 4062 }
OLDNEW
« no previous file with comments | « src/device.c ('k') | test/mm.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698