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