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