795f1b1c0ed6d69da6b34a4dcd4333fe17bd34fe
[platform/framework/web/crosswalk.git] / src / xwalk / runtime / android / core / src / org / xwalk / core / XWalkDevToolsServer.java
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 package org.xwalk.core;
6
7 import org.chromium.base.JNINamespace;
8
9 /**
10  * Controller for Remote Web Debugging (Developer Tools).
11  */
12 @JNINamespace("xwalk")
13 class XWalkDevToolsServer {
14
15     private int mNativeDevToolsServer = 0;
16
17     public XWalkDevToolsServer(String socketName) {
18         mNativeDevToolsServer = nativeInitRemoteDebugging(socketName);
19     }
20
21     public void destroy() {
22         nativeDestroyRemoteDebugging(mNativeDevToolsServer);
23         mNativeDevToolsServer = 0;
24     }
25
26     public boolean isRemoteDebuggingEnabled() {
27         return nativeIsRemoteDebuggingEnabled(mNativeDevToolsServer);
28     }
29
30     public void setRemoteDebuggingEnabled(boolean enabled) {
31         nativeSetRemoteDebuggingEnabled(mNativeDevToolsServer, enabled);
32     }
33
34     public void allowConnectionFromUid(int uid) {
35         nativeAllowConnectionFromUid(mNativeDevToolsServer, uid);
36     }
37
38     private native int nativeInitRemoteDebugging(String socketName);
39     private native void nativeDestroyRemoteDebugging(int devToolsServer);
40     private native boolean nativeIsRemoteDebuggingEnabled(int devToolsServer);
41     private native void nativeSetRemoteDebuggingEnabled(int devToolsServer, boolean enabled);
42     private native void nativeAllowConnectionFromUid(int devToolsServer, int uid);
43 }