OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_POLICY_POLICY_PATH_PARSER_H_ | 5 #ifndef CHROME_BROWSER_POLICY_POLICY_PATH_PARSER_H_ |
6 #define CHROME_BROWSER_POLICY_POLICY_PATH_PARSER_H_ | 6 #define CHROME_BROWSER_POLICY_POLICY_PATH_PARSER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/bind.h" | |
11 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
12 | 11 |
13 namespace policy { | 12 namespace policy { |
14 | 13 |
15 namespace path_parser { | 14 namespace path_parser { |
16 | 15 |
17 namespace internal { | |
18 | |
19 typedef bool (*GetValueFuncPtr)(base::FilePath::StringType*); | |
20 | |
21 struct VariableNameAndValueCallback { | |
22 const base::FilePath::CharType* name; | |
23 const GetValueFuncPtr value_func_ptr; | |
24 }; | |
25 | |
26 // Different set of variables are supported in each platform (see below). Hence | |
27 // this table is filled in with different elements in each platform. | |
28 extern const VariableNameAndValueCallback kVariableNameAndValueCallbacks[]; | |
29 | |
30 // Since the number of elements in the table could vary for each platform, this | |
31 // variable is used to keep track of it. | |
32 extern const int kNoOfVariables; | |
33 } | |
34 | |
35 // This function is used to expand the variables in policy strings that | 16 // This function is used to expand the variables in policy strings that |
36 // represent paths. The set of supported variables differs between platforms | 17 // represent paths. The set of supported variables differs between platforms |
37 // but generally covers most standard locations that might be needed in the | 18 // but generally covers most standard locations that might be needed in the |
38 // existing used cases. | 19 // existing used cases. |
39 // All platforms: | 20 // All platforms: |
40 // ${user_name} - The user that is running Chrome (respects suids). | 21 // ${user_name} - The user that is running Chrome (respects suids). |
41 // (example : "johndoe") | 22 // (example : "johndoe") |
42 // ${machine_name} - The machine name possibly with domain (example : | 23 // ${machine_name} - The machine name possibly with domain (example : |
43 // "johnny.cg1.cooldomain.org") | 24 // "johnny.cg1.cooldomain.org") |
44 // Windows only: | 25 // Windows only: |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 // this function should be used to verify no policy is specified whenever the | 58 // this function should be used to verify no policy is specified whenever the |
78 // profile path is not read from the PathService which already takes this into | 59 // profile path is not read from the PathService which already takes this into |
79 // account. | 60 // account. |
80 void CheckUserDataDirPolicy(base::FilePath* user_data_dir); | 61 void CheckUserDataDirPolicy(base::FilePath* user_data_dir); |
81 | 62 |
82 } // namespace path_parser | 63 } // namespace path_parser |
83 | 64 |
84 } // namespace policy | 65 } // namespace policy |
85 | 66 |
86 #endif // CHROME_BROWSER_POLICY_POLICY_PATH_PARSER_H_ | 67 #endif // CHROME_BROWSER_POLICY_POLICY_PATH_PARSER_H_ |
OLD | NEW |