startup_utils.h revision 116680a4aac90f2aa7413d9095a592090648e557
1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file. 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_STARTUP_UTILS_H_ 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#define CHROME_BROWSER_CHROMEOS_LOGIN_STARTUP_UTILS_H_ 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include <string> 9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "base/callback.h" 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)class PrefRegistrySimple; 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace chromeos { 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Static utility methods used at startup time to get/change bits of device 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// state. 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)class StartupUtils { 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) public: 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Returns true if EULA has been accepted. 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) static bool IsEulaAccepted(); 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Returns OOBE completion status. 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) static bool IsOobeCompleted(); 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Marks EULA status as accepted. 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) static void MarkEulaAccepted(); 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Marks OOBE process as completed. 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) static void MarkOobeCompleted(); 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Stores the next pending OOBE screen in case it will need to be resumed. 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) static void SaveOobePendingScreen(const std::string& screen); 34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Returns device registration completion status, i.e. second part of OOBE. 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) static bool IsDeviceRegistered(); 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Marks device registered. i.e. second part of OOBE is completed. 39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) static void MarkDeviceRegistered(const base::Closure& done_callback); 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // Returns whether enrollment recovery is required. 42116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch static bool IsEnrollmentRecoveryRequired(); 43116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // Mark a device as requiring enrollment recovery. 45116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch static void MarkEnrollmentRecoveryRequired(); 46116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Returns initial locale from local settings. 48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) static std::string GetInitialLocale(); 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Sets initial locale in local settings. 51c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) static void SetInitialLocale(const std::string& locale); 52c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 53c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Registers OOBE preferences. 54c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) static void RegisterPrefs(PrefRegistrySimple* registry); 55c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}; 56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 57c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} // namespace chromeos 58c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 59c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif // CHROME_BROWSER_CHROMEOS_LOGIN_STARTUP_UTILS_H_ 60