1 // Copyright 2015 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.
5 #include "chromecast/net/connectivity_checker.h"
7 #include "chromecast/net/connectivity_checker_impl.h"
11 ConnectivityChecker::ConnectivityChecker()
12 : connectivity_observer_list_(
13 new base::ObserverListThreadSafe
<ConnectivityObserver
>()) {
16 ConnectivityChecker::~ConnectivityChecker() {
19 void ConnectivityChecker::AddConnectivityObserver(
20 ConnectivityObserver
* observer
) {
21 connectivity_observer_list_
->AddObserver(observer
);
24 void ConnectivityChecker::RemoveConnectivityObserver(
25 ConnectivityObserver
* observer
) {
26 connectivity_observer_list_
->RemoveObserver(observer
);
29 void ConnectivityChecker::Notify(bool connected
) {
30 DCHECK(connectivity_observer_list_
.get());
31 connectivity_observer_list_
->Notify(
32 FROM_HERE
, &ConnectivityObserver::OnConnectivityChanged
, connected
);
36 scoped_refptr
<ConnectivityChecker
> ConnectivityChecker::Create(
37 const scoped_refptr
<base::SingleThreadTaskRunner
>& task_runner
) {
38 return make_scoped_refptr(new ConnectivityCheckerImpl(task_runner
));
41 } // namespace chromecast