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 // This file contains helper functions used by Chromium OS login. 6 7 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_HELPER_H_ 8 #define CHROME_BROWSER_CHROMEOS_LOGIN_HELPER_H_ 9 10 #include "base/compiler_specific.h" 11 #include "base/strings/string16.h" 12 #include "third_party/skia/include/core/SkColor.h" 13 #include "ui/views/view.h" 14 15 class GURL; 16 17 namespace gfx { 18 class Rect; 19 class Size; 20 } // namespace gfx 21 22 namespace chromeos { 23 24 // Returns bounds of the screen to use for login wizard. 25 // The rect is centered within the default monitor and sized accordingly if 26 // |size| is not empty. Otherwise the whole monitor is occupied. 27 gfx::Rect CalculateScreenBounds(const gfx::Size& size); 28 29 // Returns the size of user image required for proper display under current DPI. 30 int GetCurrentUserImageSize(); 31 32 // Define the constants in |login| namespace to avoid potential 33 // conflict with other chromeos components. 34 namespace login { 35 36 // Maximum size of user image, in which it should be saved to be properly 37 // displayed under all possible DPI values. 38 const int kMaxUserImageSize = 512; 39 40 // A helper class for easily mocking out Network*Handler calls for tests. 41 class NetworkStateHelper { 42 public: 43 NetworkStateHelper(); 44 virtual ~NetworkStateHelper(); 45 46 // Returns name of the currently connected network. 47 // If there are no connected networks, returns name of the network 48 // that is in the "connecting" state. Otherwise empty string is returned. 49 // If there are multiple connected networks, network priority: 50 // Ethernet > WiFi > Cellular. Same for connecting network. 51 virtual base::string16 GetCurrentNetworkName() const; 52 53 // Returns true if the default network is in connected state. 54 virtual bool IsConnected() const; 55 56 // Returns true if the default network is in connecting state. 57 virtual bool IsConnecting() const; 58 59 private: 60 DISALLOW_COPY_AND_ASSIGN(NetworkStateHelper); 61 }; 62 63 } // namespace login 64 65 } // namespace chromeos 66 67 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_HELPER_H_ 68