1 // Copyright 2017 The Chromium OS 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 LIBBRILLO_POLICY_RESILIENT_POLICY_UTIL_H_ 6 #define LIBBRILLO_POLICY_RESILIENT_POLICY_UTIL_H_ 7 8 #include <map> 9 #include <string> 10 11 #include <base/files/file_path.h> 12 #include <brillo/brillo_export.h> 13 14 namespace policy { 15 16 // Returns a map from policy file index to absolute path. The default policy 17 // file is included at index 0 if present (despite not having an index in its 18 // filename). 19 BRILLO_EXPORT std::map<int, base::FilePath> GetSortedResilientPolicyFilePaths( 20 const base::FilePath& default_policy_path); 21 22 // Returns the path to policy file corresponding to |index| value, based on 23 // the path of the default policy given by |default_policy_path|. Doesn't check 24 // the existence of the file on disk. 25 BRILLO_EXPORT base::FilePath GetResilientPolicyFilePathForIndex( 26 const base::FilePath& default_policy_path, 27 int index); 28 29 // Returns whether the |policy_path| file is a resilient file based on the name 30 // of the file, assuming the |default_policy_path| is the path of the default 31 // policy file. If successful, the |index_out| contains the index of the file as 32 // deducted from the name. No parsing of file contents is done here. 33 BRILLO_EXPORT bool ParseResilientPolicyFilePath( 34 const base::FilePath& policy_path, 35 const base::FilePath& default_policy_path, 36 int* index_out); 37 38 } // namespace policy 39 40 #endif // LIBBRILLO_POLICY_RESILIENT_POLICY_UTIL_H_ 41