pjs/java/pluggable-jvm/wf_moz6/public/nsoji2.idl

86 строки
2.9 KiB
Plaintext

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* 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 The Waterfall Java Plugin Module
*
* The Initial Developer of the Original Code is Sun Microsystems Inc
* Portions created by Sun Microsystems Inc are Copyright (C) 2001
* All Rights Reserved.
*
* $Id: nsoji2.idl,v 1.1 2001-05-10 18:12:41 edburns%acm.org Exp $
*
*
* Contributor(s):
*
* Nikolay N. Igotti <inn@sparc.spb.su>
*/
#include "nsISupports.idl"
%{C++
// external C++ includes here - they can be Mozilla dependent, but not
// JDK dependent
// we using older plugin stuff for easyness of integration
// this should be removed in future
//several hacks to live with current Mozilla tree
#define JNI_H
#define JRI_H
#define JRI_MD_H
#include "jvmp.h"
#include "nsplugindefs.h"
#include "nsIPluginInstancePeer.h"
//Java Script stuff
#include "jsapi.h"
typedef enum nsPluggableJVMStatus {
nsPluggableJVMStatus_Enabled, /* but not Running */
nsPluggableJVMStatus_Disabled, /* explicitly disabled */
nsPluggableJVMStatus_Running, /* enabled and started */
nsPluggableJVMStatus_Failed /* enabled but failed to start */
} nsPluggableJVMStatus;
typedef struct _nsPluginThread nsPluginThread;
// Auxilary macroses
#define OJI_LOG(s1) { fprintf (stderr, "MOZWF: "); \
fprintf(stderr, s1); fprintf(stderr, "\n"); }
#define OJI_LOG2(s1, s2) { fprintf (stderr, "MOZWF: "); \
fprintf(stderr, s1, s2); fprintf(stderr, "\n"); }
#define OJI_LOG3(s1, s2, s3) { fprintf (stderr, "MOZWF: "); \
fprintf(stderr, s1, s2, s3); fprintf(stderr, "\n"); }
#define OJI_LOG4(s1, s2, s3, s4) { fprintf (stderr, "MOZWF: "); \
fprintf(stderr, s1, s2, s3 ,s4); fprintf(stderr, "\n"); }
#define OJI_LOG5(s1, s2, s3, s4, s5) { fprintf (stderr, "MOZWF: "); \
fprintf(stderr, s1, s2, s3 ,s4, s5); fprintf(stderr, "\n"); }
%}
// native types
native nsNativeWindow(nsPluginWindow*);
native nsNativeMonitor(PRMonitor*);
native nsJVMStatus(nsPluggableJVMStatus);
// hackz - should be in jvmp.h
native jp_jobject(jobject);
native jp_jint(jint);
native jp_jlong(jlong);
native jp_JNIEnv(JNIEnv*);
native jp_CallInfo(struct JSObject_CallInfo*);
// hackz - should be scripting engine independent
native nsScriptRuntime(JSRuntime*);
native nsScriptContext(JSContext*);
native nsScriptObject(JSObject*);
// interfaces to be IDL'ized
interface nsISecureEnv;
interface nsIPluginInstancePeer;