Index: chrome/browser/devtools/device/android_device_manager.h |
diff --git a/chrome/browser/devtools/device/android_device_manager.h b/chrome/browser/devtools/device/android_device_manager.h |
index fbc00cd722ee9c9aaae93c1a6b812aa9ac89bf8f..219e5ced10000c7246493bda731c2e409a88800c 100644 |
--- a/chrome/browser/devtools/device/android_device_manager.h |
+++ b/chrome/browser/devtools/device/android_device_manager.h |
@@ -24,8 +24,7 @@ |
public base::NonThreadSafe { |
public: |
typedef base::Callback<void(int, const std::string&)> CommandCallback; |
- typedef base::Callback<void(int result, scoped_ptr<net::StreamSocket>)> |
- SocketCallback; |
+ typedef base::Callback<void(int result, net::StreamSocket*)> SocketCallback; |
typedef base::Callback<void(const std::vector<std::string>&)> SerialsCallback; |
struct BrowserInfo { |
@@ -54,21 +53,32 @@ |
typedef base::Callback<void(const DeviceInfo&)> DeviceInfoCallback; |
- class AndroidWebSocket { |
+ class AndroidWebSocket : public base::RefCountedThreadSafe<AndroidWebSocket> { |
public: |
class Delegate { |
public: |
virtual void OnSocketOpened() = 0; |
virtual void OnFrameRead(const std::string& message) = 0; |
- virtual void OnSocketClosed() = 0; |
+ virtual void OnSocketClosed(bool closed_by_device) = 0; |
protected: |
virtual ~Delegate() {} |
}; |
+ AndroidWebSocket() {} |
+ |
+ virtual void Connect() = 0; |
+ virtual void Disconnect() = 0; |
+ virtual void SendFrame(const std::string& message) = 0; |
+ virtual void ClearDelegate() = 0; |
+ |
+ protected: |
virtual ~AndroidWebSocket() {} |
- virtual void SendFrame(const std::string& message) = 0; |
+ private: |
+ friend class base::RefCountedThreadSafe<AndroidWebSocket>; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(AndroidWebSocket); |
}; |
class DeviceProvider; |
@@ -93,7 +103,7 @@ |
const std::string& url, |
const SocketCallback& callback); |
- AndroidWebSocket* CreateWebSocket( |
+ scoped_refptr<AndroidWebSocket> CreateWebSocket( |
const std::string& socket_name, |
const std::string& url, |
AndroidWebSocket::Delegate* delegate); |