root/chrome/browser/chromeos/app_mode/kiosk_app_launch_error.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_CHROMEOS_APP_MODE_KIOSK_APP_LAUNCH_ERROR_H_
#define CHROME_BROWSER_CHROMEOS_APP_MODE_KIOSK_APP_LAUNCH_ERROR_H_

#include <string>

#include "base/basictypes.h"

namespace chromeos {

class KioskAppLaunchError {
 public:
  enum Error {
    NONE,                     // No error.
    HAS_PENDING_LAUNCH,       // There is a pending launch already.
    CRYPTOHOMED_NOT_RUNNING,  // Unable to call cryptohome daemon.
    ALREADY_MOUNTED,          // Cryptohome is already mounted.
    UNABLE_TO_MOUNT,          // Unable to mount cryptohome.
    UNABLE_TO_REMOVE,         // Unable to remove cryptohome.
    UNABLE_TO_INSTALL,        // Unable to install app.
    USER_CANCEL,              // Canceled by user.
    NOT_KIOSK_ENABLED,        // Not a kiosk enabled app.
    UNABLE_TO_RETRIEVE_HASH,  // Unable to retrieve username hash.
    POLICY_LOAD_FAILED,       // Failed to load policy for kiosk account.
  };

  // Returns a message for given |error|.
  static std::string GetErrorMessage(Error error);

  // Save error for displaying on next restart. Note only the last saved error
  // will be kept.
  static void Save(Error error);

  // Gets the saved error.
  static Error Get();

  // Clears the saved error.
  static void Clear();

 private:
  DISALLOW_IMPLICIT_CONSTRUCTORS(KioskAppLaunchError);
};

}  // namespace chromeos

#endif  // CHROME_BROWSER_CHROMEOS_APP_MODE_KIOSK_APP_LAUNCH_ERROR_H_

/* [<][>][^][v][top][bottom][index][help] */