1 // Copyright 2018 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 #include "chromeos/services/multidevice_setup/host_verifier.h"
6 
7 #include "base/logging.h"
8 #include "chromeos/components/multidevice/logging/logging.h"
9 
10 namespace chromeos {
11 
12 namespace multidevice_setup {
13 
14 HostVerifier::HostVerifier() = default;
15 
16 HostVerifier::~HostVerifier() = default;
17 
AttemptVerificationNow()18 void HostVerifier::AttemptVerificationNow() {
19   if (IsHostVerified()) {
20     PA_LOG(ERROR) << "HostVerifier::AttemptVerificationNow(): Attempted to "
21                   << "start verification, but the current host has already "
22                   << "been verified.";
23     NOTREACHED();
24   }
25 
26   PerformAttemptVerificationNow();
27 }
28 
AddObserver(Observer * observer)29 void HostVerifier::AddObserver(Observer* observer) {
30   observer_list_.AddObserver(observer);
31 }
32 
RemoveObserver(Observer * observer)33 void HostVerifier::RemoveObserver(Observer* observer) {
34   observer_list_.RemoveObserver(observer);
35 }
36 
NotifyHostVerified()37 void HostVerifier::NotifyHostVerified() {
38   for (auto& observer : observer_list_)
39     observer.OnHostVerified();
40 }
41 
42 }  // namespace multidevice_setup
43 
44 }  // namespace chromeos
45