kiosk_oem_manifest_parser.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. #ifndef CHROMEOS_SYSTEM_KIOSK_OEM_MANIFEST_PARSER_H_
  5. #define CHROMEOS_SYSTEM_KIOSK_OEM_MANIFEST_PARSER_H_
  6. #include <string>
  7. #include "base/component_export.h"
  8. #include "base/files/file_path.h"
  9. namespace chromeos {
  10. // Parser for app kiosk OEM manifest files.
  11. class COMPONENT_EXPORT(CHROMEOS_SYSTEM) KioskOemManifestParser {
  12. public:
  13. // Kiosk OEM manifest.
  14. struct Manifest {
  15. Manifest();
  16. // True if OOBE flow should enforce enterprise enrollment.
  17. bool enterprise_managed;
  18. // True user can exit enterprise enrollment during OOBE.
  19. bool can_exit_enrollment;
  20. // Intended purpose of the device. Meant to be pass-through value for
  21. // enterprise enrollment.
  22. std::string device_requisition;
  23. // True if OOBE flow should be adapted for keyboard flow.
  24. bool keyboard_driven_oobe;
  25. };
  26. KioskOemManifestParser() = delete;
  27. KioskOemManifestParser(const KioskOemManifestParser&) = delete;
  28. KioskOemManifestParser& operator=(const KioskOemManifestParser&) = delete;
  29. // Loads manifest from |kiosk_oem_file|. Returns true if manifest was
  30. // found and successfully parsed.
  31. static bool Load(const base::FilePath& kiosk_oem_file, Manifest* manifest);
  32. };
  33. } // namespace chromeos
  34. #endif // CHROMEOS_SYSTEM_KIOSK_OEM_MANIFEST_PARSER_H_