Rename chrome/browser/devtools/tethering_adb_filter.* to port_forwarding_controller.*

Also moved TetheringAdbFilter class declaration into a cc file, preparing for merge
with PortForwardingController::Connection.

TBR=jam (file renamed in chrome.gyp)
BUG=None

Review URL: https://chromiumcodereview.appspot.com/23490021

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220560 0039d316-1c4b-4281-b951-d872f2087c98
parent e2169993
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#include "chrome/browser/devtools/adb_web_socket.h" #include "chrome/browser/devtools/adb_web_socket.h"
#include "chrome/browser/devtools/devtools_protocol.h" #include "chrome/browser/devtools/devtools_protocol.h"
#include "chrome/browser/devtools/devtools_window.h" #include "chrome/browser/devtools/devtools_window.h"
#include "chrome/browser/devtools/tethering_adb_filter.h" #include "chrome/browser/devtools/port_forwarding_controller.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_switches.h" #include "chrome/common/chrome_switches.h"
#include "components/browser_context_keyed_service/browser_context_dependency_manager.h" #include "components/browser_context_keyed_service/browser_context_dependency_manager.h"
......
// Copyright (c) 2013 The Chromium Authors. All rights reserved. // Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "chrome/browser/devtools/tethering_adb_filter.h" #include "chrome/browser/devtools/port_forwarding_controller.h"
#include <algorithm> #include <algorithm>
#include <map> #include <map>
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/compiler_specific.h" #include "base/compiler_specific.h"
#include "base/message_loop/message_loop.h" #include "base/message_loop/message_loop.h"
#include "base/prefs/pref_change_registrar.h"
#include "base/prefs/pref_service.h" #include "base/prefs/pref_service.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
...@@ -261,6 +262,64 @@ static std::string FindBestSocketForTethering( ...@@ -261,6 +262,64 @@ static std::string FindBestSocketForTethering(
} // namespace } // namespace
class TetheringAdbFilter : public base::RefCountedThreadSafe<
TetheringAdbFilter,
content::BrowserThread::DeleteOnUIThread> {
public:
typedef DevToolsAdbBridge::RemoteDevice::PortStatus PortStatus;
typedef DevToolsAdbBridge::RemoteDevice::PortStatusMap PortStatusMap;
TetheringAdbFilter(scoped_refptr<DevToolsAdbBridge::AndroidDevice> device,
base::MessageLoop* adb_message_loop,
PrefService* pref_service,
scoped_refptr<AdbWebSocket> web_socket);
const PortStatusMap& GetPortStatusMap();
bool ProcessIncomingMessage(const std::string& message);
private:
friend struct content::BrowserThread::DeleteOnThread<
content::BrowserThread::UI>;
friend class base::DeleteHelper<TetheringAdbFilter>;
virtual ~TetheringAdbFilter();
typedef std::map<int, std::string> ForwardingMap;
typedef base::Callback<void(PortStatus)> CommandCallback;
typedef std::map<int, CommandCallback> CommandCallbackMap;
void OnPrefsChange();
void ChangeForwardingMap(ForwardingMap map);
void SerializeChanges(const std::string& method,
const ForwardingMap& old_map,
const ForwardingMap& new_map);
void SendCommand(const std::string& method, int port);
bool ProcessResponse(const std::string& json);
void ProcessBindResponse(int port, PortStatus status);
void ProcessUnbindResponse(int port, PortStatus status);
void UpdateSocketCount(int port, int increment);
void UpdatePortStatusMap();
void UpdatePortStatusMapOnUIThread(const PortStatusMap& status_map);
scoped_refptr<DevToolsAdbBridge::AndroidDevice> device_;
base::MessageLoop* adb_message_loop_;
PrefChangeRegistrar pref_change_registrar_;
scoped_refptr<AdbWebSocket> web_socket_;
int command_id_;
ForwardingMap forwarding_map_;
CommandCallbackMap pending_responses_;
PortStatusMap port_status_;
PortStatusMap port_status_on_ui_thread_;
DISALLOW_COPY_AND_ASSIGN(TetheringAdbFilter);
};
TetheringAdbFilter::TetheringAdbFilter( TetheringAdbFilter::TetheringAdbFilter(
scoped_refptr<DevToolsAdbBridge::AndroidDevice> device, scoped_refptr<DevToolsAdbBridge::AndroidDevice> device,
base::MessageLoop* adb_message_loop, base::MessageLoop* adb_message_loop,
......
// Copyright 2013 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.
#ifndef CHROME_BROWSER_DEVTOOLS_PORT_FORWARDING_CONTROLLER_H_
#define CHROME_BROWSER_DEVTOOLS_PORT_FORWARDING_CONTROLLER_H_
#include <map>
#include "chrome/browser/devtools/devtools_adb_bridge.h"
class PrefService;
class PortForwardingController {
public:
PortForwardingController(
scoped_refptr<DevToolsAdbBridge> bridge,
PrefService* pref_service);
~PortForwardingController();
void UpdateDeviceList(const DevToolsAdbBridge::RemoteDevices& devices);
private:
class Connection;
typedef std::map<std::string, Connection*> Registry;
scoped_refptr<DevToolsAdbBridge> bridge_;
PrefService* pref_service_;
Registry registry_;
DISALLOW_COPY_AND_ASSIGN(PortForwardingController);
};
#endif // CHROME_BROWSER_DEVTOOLS_PORT_FORWARDING_CONTROLLER_H_
// Copyright (c) 2013 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.
#ifndef CHROME_BROWSER_DEVTOOLS_TETHERING_ADB_FILTER_H_
#define CHROME_BROWSER_DEVTOOLS_TETHERING_ADB_FILTER_H_
#include <map>
#include <string>
#include "base/basictypes.h"
#include "base/memory/ref_counted.h"
#include "base/prefs/pref_change_registrar.h"
#include "chrome/browser/devtools/adb_web_socket.h"
#include "chrome/browser/devtools/devtools_adb_bridge.h"
class PrefService;
namespace base {
class MessageLoop;
}
class TetheringAdbFilter : public base::RefCountedThreadSafe<
TetheringAdbFilter,
content::BrowserThread::DeleteOnUIThread> {
public:
typedef DevToolsAdbBridge::RemoteDevice::PortStatus PortStatus;
typedef DevToolsAdbBridge::RemoteDevice::PortStatusMap PortStatusMap;
TetheringAdbFilter(scoped_refptr<DevToolsAdbBridge::AndroidDevice> device,
base::MessageLoop* adb_message_loop,
PrefService* pref_service,
scoped_refptr<AdbWebSocket> web_socket);
const PortStatusMap& GetPortStatusMap();
bool ProcessIncomingMessage(const std::string& message);
private:
friend struct content::BrowserThread::DeleteOnThread<
content::BrowserThread::UI>;
friend class base::DeleteHelper<TetheringAdbFilter>;
virtual ~TetheringAdbFilter();
typedef std::map<int, std::string> ForwardingMap;
typedef base::Callback<void(PortStatus)> CommandCallback;
typedef std::map<int, CommandCallback> CommandCallbackMap;
void OnPrefsChange();
void ChangeForwardingMap(ForwardingMap map);
void SerializeChanges(const std::string& method,
const ForwardingMap& old_map,
const ForwardingMap& new_map);
void SendCommand(const std::string& method, int port);
bool ProcessResponse(const std::string& json);
void ProcessBindResponse(int port, PortStatus status);
void ProcessUnbindResponse(int port, PortStatus status);
void UpdateSocketCount(int port, int increment);
void UpdatePortStatusMap();
void UpdatePortStatusMapOnUIThread(const PortStatusMap& status_map);
scoped_refptr<DevToolsAdbBridge::AndroidDevice> device_;
base::MessageLoop* adb_message_loop_;
PrefChangeRegistrar pref_change_registrar_;
scoped_refptr<AdbWebSocket> web_socket_;
int command_id_;
ForwardingMap forwarding_map_;
CommandCallbackMap pending_responses_;
PortStatusMap port_status_;
PortStatusMap port_status_on_ui_thread_;
DISALLOW_COPY_AND_ASSIGN(TetheringAdbFilter);
};
class PortForwardingController {
public:
PortForwardingController(
scoped_refptr<DevToolsAdbBridge> bridge,
PrefService* pref_service);
virtual ~PortForwardingController();
void UpdateDeviceList(const DevToolsAdbBridge::RemoteDevices& devices);
private:
class Connection;
typedef std::map<std::string, Connection*> Registry;
scoped_refptr<DevToolsAdbBridge> bridge_;
PrefService* pref_service_;
Registry registry_;
};
#endif // CHROME_BROWSER_DEVTOOLS_TETHERING_ADB_FILTER_H_
...@@ -186,10 +186,10 @@ ...@@ -186,10 +186,10 @@
'browser/devtools/devtools_toggle_action.h', 'browser/devtools/devtools_toggle_action.h',
'browser/devtools/devtools_window.cc', 'browser/devtools/devtools_window.cc',
'browser/devtools/devtools_window.h', 'browser/devtools/devtools_window.h',
'browser/devtools/port_forwarding_controller.cc',
'browser/devtools/port_forwarding_controller.h',
'browser/devtools/remote_debugging_server.cc', 'browser/devtools/remote_debugging_server.cc',
'browser/devtools/remote_debugging_server.h', 'browser/devtools/remote_debugging_server.h',
'browser/devtools/tethering_adb_filter.cc',
'browser/devtools/tethering_adb_filter.h',
], ],
'conditions': [ 'conditions': [
['toolkit_uses_gtk == 1', { ['toolkit_uses_gtk == 1', {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment