Home | History | Annotate | Download | only in app_mode
      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