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

Side by Side Diff: chrome/browser/chromeos/policy/affiliated_cloud_policy_invalidator.cc

Issue 822523003: Implement device-local account policy pushing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@f_2_442800_switch_device_cloud_policy_invalidator
Patch Set: Rebased. Created 5 years, 10 months 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "chrome/browser/chromeos/policy/device_cloud_policy_invalidator.h" 5 #include "chrome/browser/chromeos/policy/affiliated_cloud_policy_invalidator.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/message_loop/message_loop_proxy.h" 8 #include "base/thread_task_runner_handle.h"
9 #include "base/time/clock.h" 9 #include "base/time/clock.h"
10 #include "base/time/default_clock.h" 10 #include "base/time/default_clock.h"
11 #include "chrome/browser/browser_process.h"
12 #include "chrome/browser/browser_process_platform_part_chromeos.h"
13 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
14 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
15 #include "chrome/browser/policy/cloud/cloud_policy_invalidator.h" 11 #include "chrome/browser/policy/cloud/cloud_policy_invalidator.h"
16 #include "policy/proto/device_management_backend.pb.h" 12 #include "policy/proto/device_management_backend.pb.h"
pneubeck (no reviews) 2015/02/04 10:02:13 nit: included in .h already
bartfab (slow) 2015/02/04 12:34:51 Done.
17 13
18 namespace policy { 14 namespace policy {
19 15
20 DeviceCloudPolicyInvalidator::DeviceCloudPolicyInvalidator( 16 AffiliatedCloudPolicyInvalidator::AffiliatedCloudPolicyInvalidator(
17 enterprise_management::DeviceRegisterRequest::Type type,
18 CloudPolicyCore* core,
21 AffiliatedInvalidationServiceProvider* invalidation_service_provider) 19 AffiliatedInvalidationServiceProvider* invalidation_service_provider)
22 : invalidation_service_provider_(invalidation_service_provider), 20 : type_(type),
21 core_(core),
22 invalidation_service_provider_(invalidation_service_provider),
23 highest_handled_invalidation_version_(0) { 23 highest_handled_invalidation_version_(0) {
24 invalidation_service_provider_->RegisterConsumer(this); 24 invalidation_service_provider_->RegisterConsumer(this);
25 } 25 }
26 26
27 DeviceCloudPolicyInvalidator::~DeviceCloudPolicyInvalidator() { 27 AffiliatedCloudPolicyInvalidator::~AffiliatedCloudPolicyInvalidator() {
28 DestroyInvalidator(); 28 DestroyInvalidator();
29 invalidation_service_provider_->UnregisterConsumer(this); 29 invalidation_service_provider_->UnregisterConsumer(this);
30 } 30 }
31 31
32 void DeviceCloudPolicyInvalidator::OnInvalidationServiceSet( 32 void AffiliatedCloudPolicyInvalidator::OnInvalidationServiceSet(
33 invalidation::InvalidationService* invalidation_service) { 33 invalidation::InvalidationService* invalidation_service) {
34 DestroyInvalidator(); 34 DestroyInvalidator();
35 if (invalidation_service) 35 if (invalidation_service)
36 CreateInvalidator(invalidation_service); 36 CreateInvalidator(invalidation_service);
37 } 37 }
38 38
39 CloudPolicyInvalidator* 39 CloudPolicyInvalidator*
40 DeviceCloudPolicyInvalidator::GetInvalidatorForTest() const { 40 AffiliatedCloudPolicyInvalidator::GetInvalidatorForTest() const {
41 return invalidator_.get(); 41 return invalidator_.get();
42 } 42 }
43 43
44 void DeviceCloudPolicyInvalidator::CreateInvalidator( 44 void AffiliatedCloudPolicyInvalidator::CreateInvalidator(
45 invalidation::InvalidationService* invalidation_service) { 45 invalidation::InvalidationService* invalidation_service) {
46 DCHECK(!invalidator_); 46 DCHECK(!invalidator_);
47 invalidator_.reset(new CloudPolicyInvalidator( 47 invalidator_.reset(new CloudPolicyInvalidator(
48 enterprise_management::DeviceRegisterRequest::DEVICE, 48 type_,
49 g_browser_process->platform_part()->browser_policy_connector_chromeos()-> 49 core_,
50 GetDeviceCloudPolicyManager()->core(), 50 base::ThreadTaskRunnerHandle::Get(),
51 base::MessageLoopProxy::current(),
52 scoped_ptr<base::Clock>(new base::DefaultClock()), 51 scoped_ptr<base::Clock>(new base::DefaultClock()),
53 highest_handled_invalidation_version_)); 52 highest_handled_invalidation_version_));
54 invalidator_->Initialize(invalidation_service); 53 invalidator_->Initialize(invalidation_service);
55 } 54 }
56 55
57 void DeviceCloudPolicyInvalidator::DestroyInvalidator() { 56 void AffiliatedCloudPolicyInvalidator::DestroyInvalidator() {
58 if (!invalidator_) 57 if (!invalidator_)
59 return; 58 return;
60 59
61 highest_handled_invalidation_version_ = 60 highest_handled_invalidation_version_ =
62 invalidator_->highest_handled_invalidation_version(); 61 invalidator_->highest_handled_invalidation_version();
63 invalidator_->Shutdown(); 62 invalidator_->Shutdown();
64 invalidator_.reset(); 63 invalidator_.reset();
65 } 64 }
66 65
67 } // namespace policy 66 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698