OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_EXTERNAL_DATA_MANAGER_H_ | 5 #ifndef COMPONENTS_POLICY_CORE_COMMON_EXTERNAL_DATA_MANAGER_H_ |
6 #define CHROME_BROWSER_POLICY_EXTERNAL_DATA_MANAGER_H_ | 6 #define COMPONENTS_POLICY_CORE_COMMON_EXTERNAL_DATA_MANAGER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "chrome/browser/policy/external_data_fetcher.h" | 10 #include "components/policy/core/common/external_data_fetcher.h" |
11 | 11 |
12 namespace policy { | 12 namespace policy { |
13 | 13 |
14 // Downloads, verifies, caches and retrieves external data referenced by | 14 // Downloads, verifies, caches and retrieves external data referenced by |
15 // policies. | 15 // policies. |
16 // An implementation of this abstract interface should be provided for each | 16 // An implementation of this abstract interface should be provided for each |
17 // policy source (cloud policy, platform policy) that supports external data | 17 // policy source (cloud policy, platform policy) that supports external data |
18 // references. | 18 // references. |
19 class ExternalDataManager { | 19 class ExternalDataManager { |
20 public: | 20 public: |
21 // Retrieves the external data referenced by |policy| and invokes |callback| | 21 // Retrieves the external data referenced by |policy| and invokes |callback| |
22 // with the result. If |policy| does not reference any external data, the | 22 // with the result. If |policy| does not reference any external data, the |
23 // |callback| is invoked with a NULL pointer. Otherwise, the |callback| is | 23 // |callback| is invoked with a NULL pointer. Otherwise, the |callback| is |
24 // invoked with the referenced data once it has been successfully retrieved. | 24 // invoked with the referenced data once it has been successfully retrieved. |
25 // If retrieval is temporarily impossible (e.g. no network connectivity), the | 25 // If retrieval is temporarily impossible (e.g. no network connectivity), the |
26 // |callback| will be invoked when the temporary hindrance is resolved. If | 26 // |callback| will be invoked when the temporary hindrance is resolved. If |
27 // retrieval is permanently impossible (e.g. |policy| references data that | 27 // retrieval is permanently impossible (e.g. |policy| references data that |
28 // does not exist on the server), the |callback| will never be invoked. | 28 // does not exist on the server), the |callback| will never be invoked. |
29 virtual void Fetch(const std::string& policy, | 29 virtual void Fetch(const std::string& policy, |
30 const ExternalDataFetcher::FetchCallback& callback) = 0; | 30 const ExternalDataFetcher::FetchCallback& callback) = 0; |
31 }; | 31 }; |
32 | 32 |
33 } // namespace policy | 33 } // namespace policy |
34 | 34 |
35 #endif // CHROME_BROWSER_POLICY_EXTERNAL_DATA_MANAGER_H_ | 35 #endif // COMPONENTS_POLICY_CORE_COMMON_EXTERNAL_DATA_MANAGER_H_ |
OLD | NEW |