home *** CD-ROM | disk | FTP | other *** search
- /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * The contents of this file are subject to the Netscape Public License
- * Version 1.0 (the "NPL"); you may not use this file except in
- * compliance with the NPL. You may obtain a copy of the NPL at
- * http://www.mozilla.org/NPL/
- *
- * Software distributed under the NPL is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
- * for the specific language governing rights and limitations under the
- * NPL.
- *
- * The Initial Developer of this code under the NPL is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All Rights
- * Reserved.
- */
- #ifndef _NAVJAVA_H_
- #define _NAVJAVA_H_
-
- #include "lo_ele.h"
- #ifndef NSPR20
- #include "prevent.h"
- #else
- #include "plevent.h"
- #endif
- #include "jri.h"
- #include "prthread.h"
-
- /* for Mocha glue */
- #include "jsapi.h"
- #include "jsjava.h"
-
- XP_BEGIN_PROTOS
-
- struct java_applet_Applet;
- struct netscape_applet_EmbeddedAppletFrame;
- struct netscape_javascript_JSObject;
- struct netscape_security_Zig;
- struct Hjava_lang_Object;
-
- /* Type of data that hangs off of LO_JavaStruct->FE_Data */
- typedef struct LJAppletData LJAppletData;
- struct LJAppletData {
- int16 generation;
- };
-
- typedef enum LJJavaStatus
- {
- LJJavaStatus_Enabled, /* but not Running */
- LJJavaStatus_Disabled, /* explicitly disabled */
- LJJavaStatus_Running, /* enabled and started */
- LJJavaStatus_Failed /* enabled but failed to start */
- } LJJavaStatus;
-
- /*******************************************************************************
- * Mozilla Events
- ******************************************************************************/
-
- /* Generic event struct for events coming from layer */
- typedef struct _tagNAppletEvent {
- int id;
- void* data;
- } NAppletEvent;
-
-
- JRI_PUBLIC_API(void)
- LJ_AddToClassPath(char* dirPath);
-
- JRI_PUBLIC_API(char *)
- LJ_Applet_GetText(LJAppletData* ad);
-
- JRI_PUBLIC_API(void)
- LJ_Applet_print(LJAppletData *ad, void* printInfo);
-
- JRI_PUBLIC_API(void)
- LJ_CreateApplet(LO_JavaAppStruct *java, MWContext *cx,
- NET_ReloadMethod reloadMethod);
-
- JRI_PUBLIC_API(void)
- LJ_DeleteSessionData(MWContext* cx, void* sdata);
-
- JRI_PUBLIC_API(void)
- LJ_DiscardEventsForContext(MWContext* context);
-
- JRI_PUBLIC_API(void)
- LJ_DisplayJavaApp(MWContext *context, ...);
-
- JRI_PUBLIC_API(JRIEnv *)
- LJ_EnsureJavaEnv(PRThread *thread);
-
- JRI_PUBLIC_API(void)
- LJ_FreeJavaAppElement(MWContext *context, ...);
-
- JRI_PUBLIC_API(char *)
- LJ_GetAppletScriptOrigin(JRIEnv *env);
-
- JRI_PUBLIC_API(void)
- LJ_GetJavaAppSize(MWContext *context, LO_JavaAppStruct *java_struct,
- NET_ReloadMethod reloadMethod);
-
- JRI_PUBLIC_API(PRBool)
- LJ_GetJavaEnabled(void);
-
- JRI_PUBLIC_API(struct netscape_javascript_JSObject*)
- LJ_GetMochaWindow(MWContext *cx);
-
- JRI_PUBLIC_API(PRBool)
- LJ_HandleEvent(MWContext* context, LO_JavaAppStruct *pJava, void *event);
-
- JRI_PUBLIC_API(void)
- LJ_HideConsole(void);
-
- JRI_PUBLIC_API(void)
- LJ_HideJavaAppElement(MWContext *context, ...);
-
- JRI_PUBLIC_API(void)
- LJ_IconifyApplets(MWContext* context);
-
- PR_PUBLIC_API(void *)
- LJ_InitializeZig(void *zipPtr);
-
- jref
- LJ_InvokeMethod(jglobal clazzGlobal, ...);
-
- JRI_PUBLIC_API(JRIEnv *)
- LJ_JSJ_CurrentEnv(JSContext *cx);
-
- JRI_PUBLIC_API(void)
- LJ_JSJ_Init();
-
- PR_PUBLIC_API(char *)
- LJ_LoadFromZipFile(void *zip, char *fn);
-
- PR_PUBLIC_API(int)
- LJ_PrintZigError(int status, void *zigPtr, const char *metafile, char *pathname,
- char *errortext);
-
- JRI_PUBLIC_API(void)
- LJ_SetConsoleShowCallback(void (*func)(int on, void* a), void *arg);
-
- void
- LJ_SetProgramName(const char *name);
-
- JRI_PUBLIC_API(void)
- LJ_ShowConsole(void);
-
- JRI_PUBLIC_API(LJJavaStatus)
- LJ_ShutdownJava(void);
-
- JRI_PUBLIC_API(void)
- LJ_UniconifyApplets(MWContext* context);
-
- /* ??? Is it needed for windows ??? */
- /* LJ_StartupJava used in ./cmd/winfe/woohoo.cpp */
- /* ns/modules/applet/include/java.h */
- /* ns/modules/applet/src/lj_init.c */
- JRI_PUBLIC_API(LJJavaStatus)
- LJ_StartupJava(void);
-
- JRI_PUBLIC_API(MWContext *)
- NSN_JavaContextToRealContext(MWContext *javaContext);
-
- JRI_PUBLIC_API(void)
- NSN_RegisterJavaConverter(void);
-
- JRI_PUBLIC_API(void)
- PrintToConsole(const char* bytes);
-
- /******************************************************************************/
-
- XP_END_PROTOS
-
- #endif /* _NAVJAVA_H_ */
-