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