Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Side by Side Diff: components/policy/core/common/cloud/cloud_policy_store.h

Issue 109743002: Move policy code into components/policy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: moar fixes Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698