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 CHROME_BROWSER_ANDROID_DEV_TOOLS_SERVER_H_ 6 #define CHROME_BROWSER_ANDROID_DEV_TOOLS_SERVER_H_ 7 8 #include <string> 9 #include <jni.h> 10 #include "base/basictypes.h" 11 12 namespace content { 13 class DevToolsHttpHandler; 14 } 15 16 // This class controls Developer Tools remote debugging server. 17 class DevToolsServer { 18 public: 19 explicit DevToolsServer(const std::string& socket_name_prefix); 20 ~DevToolsServer(); 21 22 // Opens linux abstract socket to be ready for remote debugging. 23 void Start(bool allow_debug_permission); 24 25 // Closes debugging socket, stops debugging. 26 void Stop(); 27 28 bool IsStarted() const; 29 30 private: 31 std::string socket_name_; 32 content::DevToolsHttpHandler* protocol_handler_; 33 34 DISALLOW_COPY_AND_ASSIGN(DevToolsServer); 35 }; 36 37 bool RegisterDevToolsServer(JNIEnv* env); 38 39 #endif // CHROME_BROWSER_ANDROID_DEV_TOOLS_SERVER_H_ 40