| /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
| /* ***** BEGIN LICENSE BLOCK ***** |
| * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
| * |
| * The contents of this file are subject to the Mozilla Public License Version |
| * 1.1 (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * http://www.mozilla.org/MPL/ |
| * |
| * Software distributed under the License is distributed on an "AS IS" basis, |
| * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
| * for the specific language governing rights and limitations under the |
| * License. |
| * |
| * The Original Code is mozilla.org code. |
| * |
| * The Initial Developer of the Original Code is |
| * Netscape Communications Corporation. |
| * Portions created by the Initial Developer are Copyright (C) 1998 |
| * the Initial Developer. All Rights Reserved. |
| * |
| * Contributor(s): |
| * |
| * Alternatively, the contents of this file may be used under the terms of |
| * either the GNU General Public License Version 2 or later (the "GPL"), or |
| * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), |
| * in which case the provisions of the GPL or the LGPL are applicable instead |
| * of those above. If you wish to allow use of your version of this file only |
| * under the terms of either the GPL or the LGPL, and not to allow others to |
| * use your version of this file under the terms of the MPL, indicate your |
| * decision by deleting the provisions above and replace them with the notice |
| * and other provisions required by the GPL or the LGPL. If you do not delete |
| * the provisions above, a recipient may use your version of this file under |
| * the terms of any one of the MPL, the GPL or the LGPL. |
| * |
| * ***** END LICENSE BLOCK ***** */ |
| |
| #include "nsISupports.idl" |
| |
| %{C++ |
| #ifndef JNI_H |
| #include "jni.h" |
| #endif |
| |
| /* |
| Java VM Plugin Manager |
| This interface defines additional entry points that are available |
| to JVM plugins for browsers that support JVM plugins. |
| */ |
| /* |
| #define NS_IJVMMANAGER_IID \ |
| { / * a1e5ed50-aa4a-11d1-85b2-00805f0e4dfe * / \ |
| 0xa1e5ed50, \ |
| 0xaa4a, \ |
| 0x11d1, \ |
| {0x85, 0xb2, 0x00, 0x80, 0x5f, 0x0e, 0x4d, 0xfe} \ |
| } |
| */ |
| |
| #define NS_JVMMANAGER_CID \ |
| { /* 38e7ef10-58df-11d2-8164-006008119d7a */ \ |
| 0x38e7ef10, \ |
| 0x58df, \ |
| 0x11d2, \ |
| {0x81, 0x64, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \ |
| } |
| |
| %} |
| |
| interface nsIJVMPlugin; |
| interface nsISecureEnv; |
| interface nsIPrincipal; |
| native JNIEnv(JNIEnv *); |
| |
| [scriptable, uuid(a1e5ed50-aa4a-11d1-85b2-00805f0e4dfe)] |
| interface nsIJVMManager : nsISupports { |
| |
| %{C++ |
| NS_DEFINE_STATIC_CID_ACCESSOR(NS_JVMMANAGER_CID) |
| %} |
| |
| /** |
| * Creates a proxy JNI with an optional secure environment (which can be NULL). |
| * There is a one-to-one correspondence between proxy JNIs and threads, so |
| * calling this method multiple times from the same thread will return |
| * the same proxy JNI. |
| */ |
| [noscript] void createProxyJNI(in nsISecureEnv secureEnv, out JNIEnv outProxyEnv); |
| |
| /** |
| * Returns the proxy JNI associated with the current thread, or NULL if no |
| * such association exists. |
| */ |
| [noscript] void getProxyJNI(out JNIEnv outProxyEnv); |
| |
| /** |
| * Called from Java Console menu item. |
| */ |
| |
| void showJavaConsole(); |
| |
| /** |
| * isAllPermissionGranted [Deprecated Sep-10-2000] |
| */ |
| |
| boolean isAllPermissionGranted(in string lastFingerprint,in string lastCommonName, |
| in string rootFingerprint,in string rootCommonName); |
| |
| /** |
| * isAppletTrusted |
| */ |
| |
| nsIPrincipal isAppletTrusted(in string aRSABuf, in PRUint32 aRSABufLen, |
| in string aPlaintext, in PRUint32 aPlaintextLen, |
| out boolean isTrusted); |
| |
| /** |
| * The JavaEnabled variable to see if Java is Enabled or not |
| */ |
| |
| readonly attribute boolean JavaEnabled; |
| }; |