• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 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_APP_MODE_KIOSK_APP_LAUNCH_ERROR_H_
6 #define CHROME_BROWSER_CHROMEOS_APP_MODE_KIOSK_APP_LAUNCH_ERROR_H_
7 
8 #include <string>
9 
10 #include "base/basictypes.h"
11 
12 namespace chromeos {
13 
14 class KioskAppLaunchError {
15  public:
16   enum Error {
17     NONE,                     // No error.
18     HAS_PENDING_LAUNCH,       // There is a pending launch already.
19     CRYPTOHOMED_NOT_RUNNING,  // Unable to call cryptohome daemon.
20     ALREADY_MOUNTED,          // Cryptohome is already mounted.
21     UNABLE_TO_MOUNT,          // Unable to mount cryptohome.
22     UNABLE_TO_REMOVE,         // Unable to remove cryptohome.
23     UNABLE_TO_INSTALL,        // Unable to install app.
24     USER_CANCEL,              // Canceled by user.
25     NOT_KIOSK_ENABLED,        // Not a kiosk enabled app.
26     UNABLE_TO_RETRIEVE_HASH,  // Unable to retrieve username hash.
27     POLICY_LOAD_FAILED,       // Failed to load policy for kiosk account.
28   };
29 
30   // Returns a message for given |error|.
31   static std::string GetErrorMessage(Error error);
32 
33   // Save error for displaying on next restart. Note only the last saved error
34   // will be kept.
35   static void Save(Error error);
36 
37   // Gets the saved error.
38   static Error Get();
39 
40   // Clears the saved error.
41   static void Clear();
42 
43  private:
44   DISALLOW_IMPLICIT_CONSTRUCTORS(KioskAppLaunchError);
45 };
46 
47 }  // namespace chromeos
48 
49 #endif  // CHROME_BROWSER_CHROMEOS_APP_MODE_KIOSK_APP_LAUNCH_ERROR_H_
50