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