blob: 92998c6a508fc4a59742a8d027789e0f164e57c9 [file] [log] [blame]
// Copyright (c) 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 CHROMEOS_APP_MODE_KIOSK_OEM_MANIFEST_PARSER_H_
#define CHROMEOS_APP_MODE_KIOSK_OEM_MANIFEST_PARSER_H_
#include <string>
#include "base/files/file_path.h"
#include "base/macros.h"
#include "chromeos/chromeos_export.h"
namespace chromeos {
// Parser for app kiosk OEM manifest files.
class CHROMEOS_EXPORT KioskOemManifestParser {
public:
// Kiosk OEM manifest.
struct Manifest {
Manifest();
// True if OOBE flow should enforce enterprise enrollment.
bool enterprise_managed;
// True user can exit enterprise enrollment during OOBE.
bool can_exit_enrollment;
// Intended purpose of the device. Meant to be pass-through value for
// enterprise enrollment.
std::string device_requisition;
// True if OOBE flow should be adapted for keyboard flow.
bool keyboard_driven_oobe;
};
// Loads manifest from |kiosk_oem_file|. Returns true if manifest was
// found and successfully parsed.
static bool Load(const base::FilePath& kiosk_oem_file,
Manifest* manifest);
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(KioskOemManifestParser);
};
} // namespace chromeos
#endif // CHROMEOS_APP_MODE_KIOSK_OEM_MANIFEST_PARSER_H_