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 3 // found in the LICENSE file. 4 5 #include "remoting/test/fake_network_manager.h" 6 7 #include "base/bind.h" 8 #include "base/logging.h" 9 #include "base/message_loop/message_loop.h" 10 #include "jingle/glue/utils.h" 11 #include "third_party/webrtc/base/socketaddress.h" 12 13 namespace remoting { 14 15 FakeNetworkManager::FakeNetworkManager(const rtc::IPAddress& address) 16 : started_(false), 17 weak_factory_(this) { 18 network_.reset(new rtc::Network("fake", "Fake Network", address, 32)); 19 network_->AddIP(address); 20 } 21 22 FakeNetworkManager::~FakeNetworkManager() { 23 } 24 25 void FakeNetworkManager::StartUpdating() { 26 started_ = true; 27 base::MessageLoop::current()->PostTask( 28 FROM_HERE, 29 base::Bind(&FakeNetworkManager::SendNetworksChangedSignal, 30 weak_factory_.GetWeakPtr())); 31 } 32 33 void FakeNetworkManager::StopUpdating() { 34 started_ = false; 35 } 36 37 void FakeNetworkManager::GetNetworks(NetworkList* networks) const { 38 networks->clear(); 39 networks->push_back(network_.get()); 40 } 41 42 void FakeNetworkManager::SendNetworksChangedSignal() { 43 SignalNetworksChanged(); 44 } 45 46 } // namespace remoting 47