1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file. 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)#ifndef CHROMEOS_APP_MODE_KIOSK_OEM_MANIFEST_PARSER_H_ 6a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)#define CHROMEOS_APP_MODE_KIOSK_OEM_MANIFEST_PARSER_H_ 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include <string> 9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "base/files/file_path.h" 11a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)#include "chromeos/chromeos_export.h" 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace chromeos { 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Parser for app kiosk OEM manifest files. 16a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)class CHROMEOS_EXPORT KioskOemManifestParser { 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) public: 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Kiosk OEM manifest. 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) struct Manifest { 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) Manifest(); 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // True if OOBE flow should enforce enterprise enrollment. 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) bool enterprise_managed; 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // True user can exit enterprise enrollment during OOBE. 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) bool can_exit_enrollment; 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Intended purpose of the device. Meant to be pass-through value for 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // enterprise enrollment. 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) std::string device_requisition; 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // True if OOBE flow should be adapted for keyboard flow. 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) bool keyboard_driven_oobe; 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }; 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Loads manifest from |kiosk_oem_file|. Returns true if manifest was 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // found and successfully parsed. 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) static bool Load(const base::FilePath& kiosk_oem_file, 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) Manifest* manifest); 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) private: 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DISALLOW_IMPLICIT_CONSTRUCTORS(KioskOemManifestParser); 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}; 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} // namespace chromeos 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 44a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)#endif // CHROMEOS_APP_MODE_KIOSK_OEM_MANIFEST_PARSER_H_ 45