OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * @fileoverview ONC network configuration support class. Wraps a dictionary | 6 * @fileoverview ONC network configuration support class. Wraps a dictionary |
7 * object containing ONC managed or unmanaged dictionaries. Also provides | 7 * object containing ONC managed or unmanaged dictionaries. Also provides |
8 * special accessors for ONC properties. See cr-onc-types for ONC types, | 8 * special accessors for ONC properties. See cr-onc-types for ONC types, |
9 * e.g. CrOnc.NetworkConfigType. Used by consumers of the | 9 * e.g. CrOnc.NetworkConfigType. Used by consumers of the |
10 * chrome.networkingPrivate API. See components/onc/docs/onc_spec.html. | 10 * chrome.networkingPrivate API. See components/onc/docs/onc_spec.html. |
11 */ | 11 */ |
12 Polymer('cr-onc-data', { | 12 Polymer('cr-onc-data', { |
13 publish: { | 13 publish: { |
14 /** | 14 /** |
15 * ONC configuration property dictionary, e.g. the result of a | 15 * ONC configuration property dictionary, e.g. the result of a |
16 * chrome.networkingPrivate.getProperties() call. | 16 * chrome.networkingPrivate.getProperties() call. |
17 * | 17 * |
18 * @attribute data | 18 * @attribute data |
19 * @type CrOnc.NetworkConfigType | 19 * @type CrOnc.NetworkConfigType |
20 * @default null | 20 * @default null |
21 */ | 21 */ |
22 data: null, | 22 data: null, |
23 }, | 23 }, |
24 | 24 |
| 25 /** @override */ |
25 created: function() { | 26 created: function() { |
26 this.data = /** @type {CrOnc.NetworkConfigType} */({}); | 27 this.data = /** @type {CrOnc.NetworkConfigType} */({}); |
27 }, | 28 }, |
28 | 29 |
29 /** | 30 /** @return {boolean} True if the network is connected. */ |
30 * @return {number} The signal strength of the network. | 31 connected: function() { |
31 */ | 32 return this.data.ConnectionState == CrOnc.ConnectionState.CONNECTED; |
| 33 }, |
| 34 |
| 35 /** @return {boolean} True if the network is connecting. */ |
| 36 connecting: function() { |
| 37 return this.data.ConnectionState == CrOnc.ConnectionState.CONNECTING; |
| 38 }, |
| 39 |
| 40 /** @return {number} The signal strength of the network. */ |
32 getStrength: function() { | 41 getStrength: function() { |
33 var type = this.data.Type; | 42 var type = this.data.Type; |
34 var strength = 0; | 43 var strength = 0; |
35 if (type == 'WiFi') | 44 if (type == 'WiFi') |
36 strength = this.data.WiFi ? this.data.WiFi.SignalStrength : 0; | 45 strength = this.data.WiFi ? this.data.WiFi.SignalStrength : 0; |
37 else if (type == 'Cellular') | 46 else if (type == 'Cellular') |
38 strength = this.data.Cellular ? this.data.Cellular.SignalStrength : 0; | 47 strength = this.data.Cellular ? this.data.Cellular.SignalStrength : 0; |
39 else if (type == 'WiMAX') | 48 else if (type == 'WiMAX') |
40 strength = this.data.WiMAX ? this.data.WiMAX.SignalStrength : 0; | 49 strength = this.data.WiMAX ? this.data.WiMAX.SignalStrength : 0; |
41 return strength; | 50 return strength; |
42 }, | 51 }, |
43 | 52 |
44 /** | 53 /** @return {CrOnc.Security} The ONC security type. */ |
45 * Returns the WiFi security type. Undefined or empty defaults to 'None'. | |
46 * @return {string} The WiFi security type. | |
47 */ | |
48 getWiFiSecurity: function() { | 54 getWiFiSecurity: function() { |
49 return (this.data.WiFi && this.data.WiFi.Security) ? | 55 return (this.data.WiFi && this.data.WiFi.Security) ? |
50 this.data.WiFi.Security : 'None'; | 56 this.data.WiFi.Security : CrOnc.Security.NONE; |
| 57 }, |
| 58 |
| 59 /** @return {CrOnc.RoamingState} The ONC roaming state. */ |
| 60 getCellularRoamingState: function() { |
| 61 return (this.data.Cellular && this.data.Cellular.RoamingState) ? |
| 62 this.data.Cellular.RoamingState : CrOnc.RoamingState.UNKNOWN; |
| 63 }, |
| 64 |
| 65 /** @return {CrOnc.NetworkTechnology} The ONC network technology. */ |
| 66 getCellularTechnology: function() { |
| 67 return (this.data.Cellular && this.data.Cellular.NetworkTechnology) ? |
| 68 this.data.Cellular.NetworkTechnology : CrOnc.NetworkTechnology.UNKNOWN; |
51 } | 69 } |
52 }); | 70 }); |
OLD | NEW |