Home | History | Annotate | Download | only in app_mode
      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     UNABLE_TO_DOWNLOAD,       // Unalbe to download app's crx file.
     29     UNABLE_TO_LAUNCH,         // Unable to launch app.
     30   };
     31 
     32   // Returns a message for given |error|.
     33   static std::string GetErrorMessage(Error error);
     34 
     35   // Save error for displaying on next restart. Note only the last saved error
     36   // will be kept.
     37   static void Save(Error error);
     38 
     39   // Gets the saved error.
     40   static Error Get();
     41 
     42   // Clears the saved error.
     43   static void Clear();
     44 
     45  private:
     46   DISALLOW_IMPLICIT_CONSTRUCTORS(KioskAppLaunchError);
     47 };
     48 
     49 }  // namespace chromeos
     50 
     51 #endif  // CHROME_BROWSER_CHROMEOS_APP_MODE_KIOSK_APP_LAUNCH_ERROR_H_
     52