// Copyright 2014 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. // NetworkListManager interface is introduced to enable unit test on // IpcNetworkManager such that it doesn't depend on implementation of // P2PSocketDispatcher. #ifndef CONTENT_RENDERER_P2P_NETWORK_LIST_MANAGER_H_ #define CONTENT_RENDERER_P2P_NETWORK_LIST_MANAGER_H_ namespace content { class NetworkListObserver; class CONTENT_EXPORT NetworkListManager { public: // Add a new network list observer. Each observer is called // immidiately after it is registered and then later whenever // network configuration changes. Can be called on any thread. The // observer is always called on the thread it was added. virtual void AddNetworkListObserver( NetworkListObserver* network_list_observer) = 0; // Removes network list observer. Must be called on the thread on // which the observer was added. virtual void RemoveNetworkListObserver( NetworkListObserver* network_list_observer) = 0; protected: // Marked as protected to prevent explicit deletion, as // P2PSocketDispatcher is not owned by IpcNetworkManager. virtual ~NetworkListManager() {} }; } // namespace content #endif // CONTENT_RENDERER_P2P_NETWORK_LIST_MANAGER_H_