OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef ASH_SYSTEM_CHROMEOS_NETWORK_NETWORK_ICON_H_ | |
6 #define ASH_SYSTEM_CHROMEOS_NETWORK_NETWORK_ICON_H_ | |
7 | |
8 #include <string> | |
9 | |
10 #include "ash/ash_export.h" | |
11 #include "base/strings/string16.h" | |
12 #include "ui/gfx/image/image_skia.h" | |
13 | |
14 namespace chromeos { | |
15 class NetworkState; | |
16 } | |
17 | |
18 namespace ash { | |
19 namespace network_icon { | |
20 | |
21 class AnimationObserver; | |
22 | |
23 // Type of icon which dictates color theme and VPN badging | |
24 enum IconType { | |
25 ICON_TYPE_TRAY, // light icons with VPN badges | |
26 ICON_TYPE_DEFAULT_VIEW, // dark icons with VPN badges | |
27 ICON_TYPE_LIST, // dark icons without VPN badges | |
28 }; | |
29 | |
30 // Gets the image for the network associated with |service_path|. |network| must | |
31 // not be NULL. |icon_type| determines the color theme and whether or not to | |
32 // show the VPN badge. This caches badged icons per network per |icon_type|. | |
33 ASH_EXPORT gfx::ImageSkia GetImageForNetwork( | |
34 const chromeos::NetworkState* network, | |
35 IconType icon_type); | |
36 | |
37 // Similar to GetImageForNetwork but returns the cached image url based on | |
38 // |scale_factor| instead. | |
39 ASH_EXPORT std::string GetImageUrlForNetwork( | |
40 const chromeos::NetworkState* network, | |
41 IconType icon_type, | |
42 float scale_factor); | |
43 | |
44 // Gets the fulls strength image for a connected network type. | |
45 ASH_EXPORT gfx::ImageSkia GetImageForConnectedNetwork( | |
46 IconType icon_type, | |
47 const std::string& network_type); | |
48 | |
49 // Gets the image for a connecting network type. | |
50 ASH_EXPORT gfx::ImageSkia GetImageForConnectingNetwork( | |
51 IconType icon_type, | |
52 const std::string& network_type); | |
53 | |
54 // Gets the image for a disconnected network type. | |
55 ASH_EXPORT gfx::ImageSkia GetImageForDisconnectedNetwork( | |
56 IconType icon_type, | |
57 const std::string& network_type); | |
58 | |
59 // Returns the label for |network| based on |icon_type|. |network| can be NULL. | |
60 ASH_EXPORT base::string16 GetLabelForNetwork( | |
61 const chromeos::NetworkState* network, | |
62 IconType icon_type); | |
63 | |
64 // Updates and returns the appropriate message id if the cellular network | |
65 // is uninitialized. | |
66 ASH_EXPORT int GetCellularUninitializedMsg(); | |
67 | |
68 // Gets the correct icon and label for |icon_type|. Also sets |animating| | |
69 // based on whether or not the icon is animating (i.e. connecting). | |
70 ASH_EXPORT void GetDefaultNetworkImageAndLabel(IconType icon_type, | |
71 gfx::ImageSkia* image, | |
72 base::string16* label, | |
73 bool* animating); | |
74 | |
75 // Called when the list of networks changes. Retreives the list of networks | |
76 // from the global NetworkStateHandler instance and removes cached entries | |
77 // that are no longer in the list. | |
78 ASH_EXPORT void PurgeNetworkIconCache(); | |
79 | |
80 } // namespace network_icon | |
81 } // namespace ash | |
82 | |
83 #endif // ASH_SYSTEM_CHROMEOS_NETWORK_NETWORK_ICON_H_ | |
OLD | NEW |