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_CLOUD_CLOUD_POLICY_STORE_H_ | 5 #ifndef COMPONENTS_POLICY_CORE_COMMON_CLOUD_CLOUD_POLICY_STORE_H_ |
6 #define CHROME_BROWSER_POLICY_CLOUD_CLOUD_POLICY_STORE_H_ | 6 #define COMPONENTS_POLICY_CORE_COMMON_CLOUD_CLOUD_POLICY_STORE_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/memory/weak_ptr.h" | 10 #include "base/memory/weak_ptr.h" |
11 #include "base/observer_list.h" | 11 #include "base/observer_list.h" |
12 #include "chrome/browser/policy/cloud/cloud_policy_validator.h" | |
13 #include "chrome/browser/policy/proto/cloud/device_management_backend.pb.h" | 12 #include "chrome/browser/policy/proto/cloud/device_management_backend.pb.h" |
| 13 #include "components/policy/core/common/cloud/cloud_policy_validator.h" |
14 #include "components/policy/core/common/policy_map.h" | 14 #include "components/policy/core/common/policy_map.h" |
| 15 #include "components/policy/policy_export.h" |
15 | 16 |
16 namespace policy { | 17 namespace policy { |
17 | 18 |
18 class CloudExternalDataManager; | 19 class CloudExternalDataManager; |
19 | 20 |
20 // Defines the low-level interface used by the cloud policy code to: | 21 // Defines the low-level interface used by the cloud policy code to: |
21 // 1. Validate policy blobs that should be applied locally | 22 // 1. Validate policy blobs that should be applied locally |
22 // 2. Persist policy blobs | 23 // 2. Persist policy blobs |
23 // 3. Decode policy blobs to PolicyMap representation | 24 // 3. Decode policy blobs to PolicyMap representation |
24 class CloudPolicyStore { | 25 class POLICY_EXPORT CloudPolicyStore { |
25 public: | 26 public: |
26 // Status codes. | 27 // Status codes. |
27 enum Status { | 28 enum Status { |
28 // Everything is in good order. | 29 // Everything is in good order. |
29 STATUS_OK, | 30 STATUS_OK, |
30 // Loading policy from the underlying data store failed. | 31 // Loading policy from the underlying data store failed. |
31 STATUS_LOAD_ERROR, | 32 STATUS_LOAD_ERROR, |
32 // Failed to store policy to the data store. | 33 // Failed to store policy to the data store. |
33 STATUS_STORE_ERROR, | 34 STATUS_STORE_ERROR, |
34 // Failed to parse the policy read from the data store. | 35 // Failed to parse the policy read from the data store. |
35 STATUS_PARSE_ERROR, | 36 STATUS_PARSE_ERROR, |
36 // Failed to serialize policy for storage. | 37 // Failed to serialize policy for storage. |
37 STATUS_SERIALIZE_ERROR, | 38 STATUS_SERIALIZE_ERROR, |
38 // Validation error. | 39 // Validation error. |
39 STATUS_VALIDATION_ERROR, | 40 STATUS_VALIDATION_ERROR, |
40 // Store cannot accept policy (e.g. non-enterprise device). | 41 // Store cannot accept policy (e.g. non-enterprise device). |
41 STATUS_BAD_STATE, | 42 STATUS_BAD_STATE, |
42 }; | 43 }; |
43 | 44 |
44 // Callbacks for policy store events. Most importantly, policy updates. | 45 // Callbacks for policy store events. Most importantly, policy updates. |
45 class Observer { | 46 class POLICY_EXPORT Observer { |
46 public: | 47 public: |
47 virtual ~Observer(); | 48 virtual ~Observer(); |
48 | 49 |
49 // Called on changes to store->policy() and/or store->policy_map(). | 50 // Called on changes to store->policy() and/or store->policy_map(). |
50 virtual void OnStoreLoaded(CloudPolicyStore* store) = 0; | 51 virtual void OnStoreLoaded(CloudPolicyStore* store) = 0; |
51 | 52 |
52 // Called upon encountering errors. | 53 // Called upon encountering errors. |
53 virtual void OnStoreError(CloudPolicyStore* store) = 0; | 54 virtual void OnStoreError(CloudPolicyStore* store) = 0; |
54 }; | 55 }; |
55 | 56 |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 // triggered by calling Load(). | 155 // triggered by calling Load(). |
155 bool is_initialized_; | 156 bool is_initialized_; |
156 | 157 |
157 ObserverList<Observer, true> observers_; | 158 ObserverList<Observer, true> observers_; |
158 | 159 |
159 DISALLOW_COPY_AND_ASSIGN(CloudPolicyStore); | 160 DISALLOW_COPY_AND_ASSIGN(CloudPolicyStore); |
160 }; | 161 }; |
161 | 162 |
162 } // namespace policy | 163 } // namespace policy |
163 | 164 |
164 #endif // CHROME_BROWSER_POLICY_CLOUD_CLOUD_POLICY_STORE_H_ | 165 #endif // COMPONENTS_POLICY_CORE_COMMON_CLOUD_CLOUD_POLICY_STORE_H_ |
OLD | NEW |