startup_utils.h revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
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 CHROME_BROWSER_CHROMEOS_LOGIN_STARTUP_UTILS_H_
6#define CHROME_BROWSER_CHROMEOS_LOGIN_STARTUP_UTILS_H_
7
8#include <string>
9
10class PrefRegistrySimple;
11
12namespace chromeos {
13
14// Static utitliy methods used in startup time to get/change bits of device
15// state.
16class StartupUtils {
17 public:
18  // Returns true if EULA has been accepted.
19  static bool IsEulaAccepted();
20
21  // Returns OOBE completion status.
22  static bool IsOobeCompleted();
23
24  // Marks EULA status as accepted.
25  static void MarkEulaAccepted();
26
27  // Marks OOBE process as completed.
28  static void MarkOobeCompleted();
29
30  // Returns device registration completion status, i.e. second part of OOBE.
31  static bool IsDeviceRegistered();
32
33  // Marks device registered. i.e. second part of OOBE is completed.
34  static void MarkDeviceRegistered();
35
36  // Returns initial locale from local settings.
37  static std::string GetInitialLocale();
38
39  // Sets initial locale in local settings.
40  static void SetInitialLocale(const std::string& locale);
41
42  // Registers OOBE preferences.
43  static void RegisterPrefs(PrefRegistrySimple* registry);
44};
45
46}  // namespace chromeos
47
48#endif  // CHROME_BROWSER_CHROMEOS_LOGIN_STARTUP_UTILS_H_
49