// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "jingle/glue/fake_network_manager.h" #include "base/bind.h" #include "base/logging.h" #include "base/message_loop/message_loop.h" #include "jingle/glue/utils.h" #include "net/base/ip_endpoint.h" #include "third_party/libjingle/source/talk/base/socketaddress.h" namespace jingle_glue { FakeNetworkManager::FakeNetworkManager(const net::IPAddressNumber& address) : started_(false), weak_factory_(this) { net::IPEndPoint endpoint(address, 0); talk_base::SocketAddress socket_address; CHECK(IPEndPointToSocketAddress(endpoint, &socket_address)); network_.reset(new talk_base::Network("fake", "Fake Network", socket_address.ipaddr(), 32)); network_->AddIP(socket_address.ipaddr()); } FakeNetworkManager::~FakeNetworkManager() { } void FakeNetworkManager::StartUpdating() { started_ = true; base::MessageLoop::current()->PostTask( FROM_HERE, base::Bind(&FakeNetworkManager::SendNetworksChangedSignal, weak_factory_.GetWeakPtr())); } void FakeNetworkManager::StopUpdating() { started_ = false; } void FakeNetworkManager::GetNetworks(NetworkList* networks) const { networks->clear(); networks->push_back(network_.get()); } void FakeNetworkManager::SendNetworksChangedSignal() { SignalNetworksChanged(); } } // namespace jingle_glue