• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 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 CHROMEOS_APP_MODE_KIOSK_OEM_MANIFEST_PARSER_H_
6 #define CHROMEOS_APP_MODE_KIOSK_OEM_MANIFEST_PARSER_H_
7 
8 #include <string>
9 
10 #include "base/files/file_path.h"
11 #include "chromeos/chromeos_export.h"
12 
13 namespace chromeos {
14 
15 // Parser for app kiosk OEM manifest files.
16 class CHROMEOS_EXPORT KioskOemManifestParser {
17  public:
18   // Kiosk OEM manifest.
19   struct Manifest {
20     Manifest();
21 
22     // True if OOBE flow should enforce enterprise enrollment.
23     bool enterprise_managed;
24     // True user can exit enterprise enrollment during OOBE.
25     bool can_exit_enrollment;
26     // Intended purpose of the device. Meant to be pass-through value for
27     // enterprise enrollment.
28     std::string device_requisition;
29     // True if OOBE flow should be adapted for keyboard flow.
30     bool keyboard_driven_oobe;
31   };
32 
33   // Loads manifest from |kiosk_oem_file|. Returns true if manifest was
34   // found and successfully parsed.
35   static bool Load(const base::FilePath& kiosk_oem_file,
36                    Manifest* manifest);
37 
38  private:
39   DISALLOW_IMPLICIT_CONSTRUCTORS(KioskOemManifestParser);
40 };
41 
42 }  // namespace chromeos
43 
44 #endif  // CHROMEOS_APP_MODE_KIOSK_OEM_MANIFEST_PARSER_H_
45