OLD | NEW |
| (Empty) |
1 // Copyright (c) 2010 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 "chrome/service/net/service_network_change_notifier_thread.h" | |
6 | |
7 #include "base/logging.h" | |
8 #include "base/message_loop.h" | |
9 #include "net/base/network_change_notifier.h" | |
10 | |
11 ServiceNetworkChangeNotifierThread::ServiceNetworkChangeNotifierThread( | |
12 MessageLoop* io_thread_message_loop) | |
13 : io_thread_message_loop_(io_thread_message_loop) { | |
14 DCHECK(io_thread_message_loop_); | |
15 } | |
16 | |
17 ServiceNetworkChangeNotifierThread::~ServiceNetworkChangeNotifierThread() { | |
18 io_thread_message_loop_->DeleteSoon(FROM_HERE, | |
19 network_change_notifier_.release()); | |
20 } | |
21 | |
22 void ServiceNetworkChangeNotifierThread::Initialize() { | |
23 io_thread_message_loop_->PostTask( | |
24 FROM_HERE, | |
25 NewRunnableMethod( | |
26 this, | |
27 &ServiceNetworkChangeNotifierThread::CreateNetworkChangeNotifier)); | |
28 } | |
29 | |
30 MessageLoop* ServiceNetworkChangeNotifierThread::GetMessageLoop() const { | |
31 DCHECK(io_thread_message_loop_); | |
32 return io_thread_message_loop_; | |
33 } | |
34 | |
35 net::NetworkChangeNotifier* | |
36 ServiceNetworkChangeNotifierThread::GetNetworkChangeNotifier() const { | |
37 DCHECK(MessageLoop::current() == io_thread_message_loop_); | |
38 return network_change_notifier_.get(); | |
39 } | |
40 | |
41 void ServiceNetworkChangeNotifierThread::CreateNetworkChangeNotifier() { | |
42 DCHECK(MessageLoop::current() == io_thread_message_loop_); | |
43 network_change_notifier_.reset( | |
44 net::NetworkChangeNotifier::CreateDefaultNetworkChangeNotifier()); | |
45 } | |
46 | |
OLD | NEW |