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

Unified Diff: chrome/browser/devtools/tethering_adb_filter.h

Issue 22685003: Visualize status of port forwarding sockets in chrome:inspect Devices tab (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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/tethering_adb_filter.h
diff --git a/chrome/browser/devtools/tethering_adb_filter.h b/chrome/browser/devtools/tethering_adb_filter.h
index 426704777180f210bf5e1c7f657d08ce233e3336..a2ceae479b3fa533da909672636c3ad42cb833b3 100644
--- a/chrome/browser/devtools/tethering_adb_filter.h
+++ b/chrome/browser/devtools/tethering_adb_filter.h
@@ -22,6 +22,9 @@ class MessageLoop;
class TetheringAdbFilter {
public:
+ typedef DevToolsAdbBridge::RemoteDevice::PortStatus PortStatus;
+ typedef DevToolsAdbBridge::RemoteDevice::PortStatusMap PortStatusMap;
+
TetheringAdbFilter(int adb_port,
const std::string& serial,
base::MessageLoop* adb_message_loop,
@@ -29,11 +32,16 @@ class TetheringAdbFilter {
scoped_refptr<AdbWebSocket> web_socket);
~TetheringAdbFilter();
+ const PortStatusMap& port_status() { return port_status_; }
+
bool ProcessIncomingMessage(const std::string& message);
private:
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);
@@ -43,6 +51,13 @@ class TetheringAdbFilter {
const ForwardingMap& new_map);
void SendCommand(const std::string& method, int port);
+ bool ProcessResponse(const std::string& json);
+
+ void ProcessBindResponseOnUIThread(int port, PortStatus status);
+ void ProcessUnbindResponseOnUIThread(int port, PortStatus status);
+
+ void UpdateSocketCount(int port, int increment);
+ void UpdateSocketCountOnUIThread(int port, int increment);
int adb_port_;
std::string serial_;
@@ -51,6 +66,8 @@ class TetheringAdbFilter {
scoped_refptr<AdbWebSocket> web_socket_;
int command_id_;
ForwardingMap forwarding_map_;
+ CommandCallbackMap pending_responses_;
+ PortStatusMap port_status_;
base::WeakPtrFactory<TetheringAdbFilter> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(TetheringAdbFilter);
@@ -64,7 +81,7 @@ class PortForwardingController {
virtual ~PortForwardingController();
- void UpdateDeviceList(const DevToolsAdbBridge::RemoteDevices& devices);
+ void UpdateDeviceList(DevToolsAdbBridge::RemoteDevices& devices);
pfeldman 2013/08/08 16:43:22 Why is that now mutable?
Vladislav Kaznacheev 2013/08/09 08:24:58 Oops. The method calls DevToolsAdbBridge::RemoteDe
private:
class Connection;

Powered by Google App Engine
This is Rietveld 408576698