1 // Copyright (c) 2014 GitHub, Inc. All rights reserved.
2 // Use of this source code is governed by the MIT license that can be
3 // found in the LICENSE file.
5 #ifndef ATOM_BROWSER_NODE_DEBUGGER_H_
6 #define ATOM_BROWSER_NODE_DEBUGGER_H_
10 #include "base/memory/scoped_ptr.h"
11 #include "base/memory/weak_ptr.h"
12 #include "base/threading/thread.h"
13 #include "net/socket/stream_listen_socket.h"
17 // Add support for node's "--debug" switch.
18 class NodeDebugger : public net::StreamListenSocket::Delegate {
21 virtual ~NodeDebugger();
24 void StartServer(int port);
26 // net::StreamListenSocket::Delegate:
27 virtual void DidAccept(net::StreamListenSocket* server,
28 scoped_ptr<net::StreamListenSocket> socket) OVERRIDE;
29 virtual void DidRead(net::StreamListenSocket* socket,
32 virtual void DidClose(net::StreamListenSocket* socket) OVERRIDE;
35 scoped_ptr<net::StreamListenSocket> server_;
36 scoped_ptr<net::StreamListenSocket> accepted_socket_;
41 base::WeakPtrFactory<NodeDebugger> weak_factory_;
43 DISALLOW_COPY_AND_ASSIGN(NodeDebugger);
48 #endif // ATOM_BROWSER_NODE_DEBUGGER_H_