Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(949)

Unified Diff: chrome/browser/devtools/device/port_forwarding_controller.h

Issue 500373004: DevTools: Make port forwarding part of DevToolsAndroidBridge. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/devtools/device/port_forwarding_controller.h
diff --git a/chrome/browser/devtools/device/port_forwarding_controller.h b/chrome/browser/devtools/device/port_forwarding_controller.h
index ae491d7b307df688adfba806bad7e349b3b2912a..bc58d5f5c8f700d60f71a938ba7905cd80060b39 100644
--- a/chrome/browser/devtools/device/port_forwarding_controller.h
+++ b/chrome/browser/devtools/device/port_forwarding_controller.h
@@ -15,79 +15,33 @@
class PrefService;
class Profile;
-class PortForwardingController
- : private KeyedService,
- private DevToolsAndroidBridge::DeviceListListener {
+class PortForwardingController {
public:
+ typedef DevToolsAndroidBridge::PortStatus PortStatus;
+ typedef DevToolsAndroidBridge::PortStatusMap PortStatusMap;
+ typedef DevToolsAndroidBridge::DevicesStatus DevicesStatus;
+
explicit PortForwardingController(Profile* profile);
virtual ~PortForwardingController();
- // KeyedService implementation.
- virtual void Shutdown() OVERRIDE;
-
- class Factory : public BrowserContextKeyedServiceFactory {
- public:
- // Returns singleton instance of Factory.
- static Factory* GetInstance();
-
- // Returns PortForwardingController associated with |profile|.
- static PortForwardingController* GetForProfile(Profile* profile);
-
- private:
- friend struct DefaultSingletonTraits<Factory>;
-
- Factory();
- virtual ~Factory();
-
- // BrowserContextKeyedServiceFactory overrides:
- virtual KeyedService* BuildServiceInstanceFor(
- content::BrowserContext* context) const OVERRIDE;
- DISALLOW_COPY_AND_ASSIGN(Factory);
- };
-
- typedef int PortStatus;
- typedef std::map<int, PortStatus> PortStatusMap;
- typedef std::map<std::string, PortStatusMap> DevicesStatus;
-
- class Listener {
- public:
- typedef PortForwardingController::PortStatusMap PortStatusMap;
- typedef PortForwardingController::DevicesStatus DevicesStatus;
-
- virtual void PortStatusChanged(const DevicesStatus&) = 0;
- protected:
- virtual ~Listener() {}
- };
-
- void AddListener(Listener* listener);
- void RemoveListener(Listener* listener);
+ DevicesStatus DeviceListChanged(
+ const DevToolsAndroidBridge::RemoteDevices& devices);
private:
class Connection;
typedef std::map<std::string, Connection*> Registry;
- // DevToolsAndroidBridge::Listener implementation.
- virtual void DeviceListChanged(
- const DevToolsAndroidBridge::RemoteDevices& devices) OVERRIDE;
-
void OnPrefsChange();
- void StartListening();
- void StopListening();
-
void UpdateConnections();
void ShutdownConnections();
- void NotifyListeners(const DevicesStatus& status) const;
-
Profile* profile_;
PrefService* pref_service_;
PrefChangeRegistrar pref_change_registrar_;
Registry registry_;
- typedef std::vector<Listener*> Listeners;
- Listeners listeners_;
bool listening_;
typedef std::map<int, std::string> ForwardingMap;

Powered by Google App Engine
This is Rietveld 408576698