1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_BROWSER_DEVTOOLS_TETHERING_HANDLER_H_ 6 #define CONTENT_BROWSER_DEVTOOLS_TETHERING_HANDLER_H_ 7 8 #include <map> 9 10 #include "content/browser/devtools/devtools_protocol.h" 11 12 namespace content { 13 14 class DevToolsHttpHandlerDelegate; 15 16 // This class implements reversed tethering handler. 17 class TetheringHandler : public DevToolsProtocol::Handler { 18 public: 19 TetheringHandler(DevToolsHttpHandlerDelegate* delegate); 20 virtual ~TetheringHandler(); 21 22 void Accepted(int port, const std::string& name); 23 24 private: 25 class BoundSocket; 26 scoped_refptr<DevToolsProtocol::Response> OnBind( 27 scoped_refptr<DevToolsProtocol::Command> command); 28 scoped_refptr<DevToolsProtocol::Response> OnUnbind( 29 scoped_refptr<DevToolsProtocol::Command> command); 30 31 typedef std::map<int, BoundSocket*> BoundSockets; 32 BoundSockets bound_sockets_; 33 DevToolsHttpHandlerDelegate* delegate_; 34 DISALLOW_COPY_AND_ASSIGN(TetheringHandler); 35 }; 36 37 } // namespace content 38 39 #endif // CONTENT_BROWSER_DEVTOOLS_TETHERING_HANDLER_H_ 40