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 #ifndef REMOTING_TEST_FAKE_NETWORK_MANAGER_H_ 6 #define REMOTING_TEST_FAKE_NETWORK_MANAGER_H_ 7 8 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/weak_ptr.h" 10 #include "third_party/webrtc/base/network.h" 11 12 namespace remoting { 13 14 // FakeNetworkManager always returns one interface with the IP address 15 // specified in the constructor. 16 class FakeNetworkManager : public rtc::NetworkManager { 17 public: 18 FakeNetworkManager(const rtc::IPAddress& address); 19 virtual ~FakeNetworkManager(); 20 21 // rtc::NetworkManager interface. 22 virtual void StartUpdating() OVERRIDE; 23 virtual void StopUpdating() OVERRIDE; 24 virtual void GetNetworks(NetworkList* networks) const OVERRIDE; 25 26 protected: 27 void SendNetworksChangedSignal(); 28 29 bool started_; 30 scoped_ptr<rtc::Network> network_; 31 32 base::WeakPtrFactory<FakeNetworkManager> weak_factory_; 33 }; 34 35 } // namespace remoting 36 37 #endif // REMOTING_TEST_FAKE_NETWORK_MANAGER_H_ 38