/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
- * Version: NPL 1.1/GPL 2.0/LGPL 2.1
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
- * The contents of this file are subject to the Netscape 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/NPL/
+ * 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
* 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 NPL, indicate your
+ * 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 NPL, the GPL or the LGPL.
+ * the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
-#include "config.h"
-
-#ifdef HAVE_MOZILLA_CONFIG_H
-# include <mozilla-config.h>
-#endif
-
+#ifndef _NPAPI_H_
#include "npapi.h"
-#ifdef HAVE_NPFUNCTIONS_H
-#include "npfunctions.h"
-#else
+#endif
+#ifndef _NPUPP_H_
#include "npupp.h"
#endif
+#include "nsDefaultPlugin.h"
+
//\\// DEFINE
#define NP_EXPORT
//\\// GLOBAL DATA
NPNetscapeFuncs* g_pNavigatorFuncs = 0;
+#ifdef OJI
JRIGlobalRef Private_GetJavaClass(void);
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\.
////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//.
// Private_GetJavaClass (global function)
//
-// Given a Java class reference (thru NPP_GetJavaClass) inform JRT
-// of this class existence
+// Given a Java class reference (thru NPP_GetJavaClass) inform JRT
+// of this class existence
//
JRIGlobalRef
Private_GetJavaClass(void)
{
jref clazz = NPP_GetJavaClass();
if (clazz) {
- JRIEnv* env = NPN_GetJavaEnv();
- return JRI_NewGlobalRef(env, clazz);
+ JRIEnv* env = NPN_GetJavaEnv();
+ return JRI_NewGlobalRef(env, clazz);
}
return NULL;
}
-
+#endif /* OJI */
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\.
////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//.
-// PLUGIN DLL entry points
+// PLUGIN DLL entry points
//
// These are the Windows specific DLL entry points. They must be exoprted
//
////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//.
// NP_GetEntryPoints
//
-// fills in the func table used by Navigator to call entry points in
+// fills in the func table used by Navigator to call entry points in
// plugin DLL. Note that these entry points ensure that DS is loaded
// by using the NP_LOADDS macro, when compiling for Win16
//
-#ifdef __MINGW32__
-extern "C" __declspec(dllexport) NPError WINAPI
-#else
NPError WINAPI NP_EXPORT
-#endif
NP_GetEntryPoints(NPPluginFuncs* pFuncs)
{
- // trap a NULL ptr
+ // trap a NULL ptr
if(pFuncs == NULL)
return NPERR_INVALID_FUNCTABLE_ERROR;
// if the plugin's function table is smaller than the plugin expects,
- // then they are incompatible, and should return an error
+ // then they are incompatible, and should return an error
pFuncs->version = (NP_VERSION_MAJOR << 8) | NP_VERSION_MINOR;
pFuncs->newp = NPP_New;
pFuncs->writeready = NPP_WriteReady;
pFuncs->write = NPP_Write;
pFuncs->print = NPP_Print;
- pFuncs->event = 0; /// reserved
- pFuncs->getvalue = NPP_GetValue;
- pFuncs->setvalue = NPP_SetValue;
+ pFuncs->event = 0; /// reserved
- g_pluginFuncs = pFuncs;
+ g_pluginFuncs = pFuncs;
return NPERR_NO_ERROR;
}
////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//.
// NP_Initialize
//
-// called immediately after the plugin DLL is loaded
+// called immediately after the plugin DLL is loaded
//
-#ifdef __MINGW32__
-extern "C" __declspec(dllexport) NPError WINAPI
-#else
-NPError WINAPI NP_EXPORT
-#endif
+NPError WINAPI NP_EXPORT
NP_Initialize(NPNetscapeFuncs* pFuncs)
{
- // trap a NULL ptr
+ // trap a NULL ptr
if(pFuncs == NULL)
return NPERR_INVALID_FUNCTABLE_ERROR;
- g_pNavigatorFuncs = pFuncs; // save it for future reference
+ g_pNavigatorFuncs = pFuncs; // save it for future reference
// if the plugin's major ver level is lower than the Navigator's,
- // then they are incompatible, and should return an error
+ // then they are incompatible, and should return an error
if(HIBYTE(pFuncs->version) > NP_VERSION_MAJOR)
return NPERR_INCOMPATIBLE_VERSION_ERROR;
- // We have to defer these assignments until g_pNavigatorFuncs is set
+ // We have to defer these assignments until g_pNavigatorFuncs is set
int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) {
- g_pluginFuncs->urlnotify = NPP_URLNotify;
- }
-
- if( navMinorVers >= NPVERS_HAS_LIVECONNECT ) {
- g_pluginFuncs->javaClass = Private_GetJavaClass();
- }
-
- // NPP_Initialize is a standard (cross-platform) initialize function.
+ if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) {
+ g_pluginFuncs->urlnotify = NPP_URLNotify;
+ }
+#ifdef OJI
+ if( navMinorVers >= NPVERS_HAS_LIVECONNECT ) {
+ g_pluginFuncs->javaClass = Private_GetJavaClass();
+ }
+#endif
+ // NPP_Initialize is a standard (cross-platform) initialize function.
return NPP_Initialize();
}
////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//.
// NP_Shutdown
//
-// called immediately before the plugin DLL is unloaded.
-// This functio shuold check for some ref count on the dll to see if it is
-// unloadable or it needs to stay in memory.
+// called immediately before the plugin DLL is unloaded.
+// This function should check for some ref count on the dll to see if it is
+// unloadable or it needs to stay in memory.
//
-#ifdef __MINGW32__
-extern "C" __declspec(dllexport) NPError WINAPI
-#else
-NPError WINAPI NP_EXPORT
-#endif
+NPError WINAPI NP_EXPORT
NP_Shutdown()
{
NPP_Shutdown();
return NPERR_NO_ERROR;
}
-// END - PLUGIN DLL entry points
+char * NP_GetMIMEDescription()
+{
+ static char mimetype[] = NS_PLUGIN_DEFAULT_MIME_DESCRIPTION;
+ return mimetype;
+}
+
+// END - PLUGIN DLL entry points
////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//.
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\.
*netscape_minor = LOBYTE(g_pNavigatorFuncs->version);
}
+NPError NPN_GetValue(NPP instance, NPNVariable variable, void *result)
+{
+ return g_pNavigatorFuncs->getvalue(instance, variable, result);
+}
+
+
/* causes the specified URL to be fetched and streamed in
*/
NPError NPN_GetURLNotify(NPP instance, const char *url, const char *target, void* notifyData)
{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- NPError err;
- if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) {
- err = g_pNavigatorFuncs->geturlnotify(instance, url, target, notifyData);
- }
- else {
- err = NPERR_INCOMPATIBLE_VERSION_ERROR;
- }
- return err;
+ int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
+ NPError err;
+ if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) {
+ err = g_pNavigatorFuncs->geturlnotify(instance, url, target, notifyData);
+ }
+ else {
+ err = NPERR_INCOMPATIBLE_VERSION_ERROR;
+ }
+ return err;
}
NPError NPN_PostURLNotify(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file, void* notifyData)
{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- NPError err;
- if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) {
- err = g_pNavigatorFuncs->posturlnotify(instance, url, window, len, buf, file, notifyData);
- }
- else {
- err = NPERR_INCOMPATIBLE_VERSION_ERROR;
- }
- return err;
+ int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
+ NPError err;
+ if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) {
+ err = g_pNavigatorFuncs->posturlnotify(instance, url, window, len, buf, file, notifyData);
+ }
+ else {
+ err = NPERR_INCOMPATIBLE_VERSION_ERROR;
+ }
+ return err;
}
/* Creates a new stream of data from the plug-in to be interpreted
by Netscape in the current window.
*/
-NPError NPN_NewStream(NPP instance, NPMIMEType type,
- const char* target, NPStream** stream)
+NPError NPN_NewStream(NPP instance, NPMIMEType type,
+ const char* target, NPStream** stream)
{
- int navMinorVersion = g_pNavigatorFuncs->version & 0xFF;
- NPError err;
+ int navMinorVersion = g_pNavigatorFuncs->version & 0xFF;
+ NPError err;
- if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) {
- err = g_pNavigatorFuncs->newstream(instance, type, target, stream);
- }
- else {
- err = NPERR_INCOMPATIBLE_VERSION_ERROR;
- }
- return err;
+ if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) {
+ err = g_pNavigatorFuncs->newstream(instance, type, target, stream);
+ }
+ else {
+ err = NPERR_INCOMPATIBLE_VERSION_ERROR;
+ }
+ return err;
}
/* Provides len bytes of data.
int32 NPN_Write(NPP instance, NPStream *stream,
int32 len, void *buffer)
{
- int navMinorVersion = g_pNavigatorFuncs->version & 0xFF;
- int32 result;
+ int navMinorVersion = g_pNavigatorFuncs->version & 0xFF;
+ int32 result;
- if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) {
- result = g_pNavigatorFuncs->write(instance, stream, len, buffer);
- }
- else {
- result = -1;
- }
- return result;
+ if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) {
+ result = g_pNavigatorFuncs->write(instance, stream, len, buffer);
+ }
+ else {
+ result = -1;
+ }
+ return result;
}
-/* Closes a stream object.
+/* Closes a stream object.
reason indicates why the stream was closed.
*/
NPError NPN_DestroyStream(NPP instance, NPStream* stream, NPError reason)
{
- int navMinorVersion = g_pNavigatorFuncs->version & 0xFF;
- NPError err;
+ int navMinorVersion = g_pNavigatorFuncs->version & 0xFF;
+ NPError err;
- if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) {
- err = g_pNavigatorFuncs->destroystream(instance, stream, reason);
- }
- else {
- err = NPERR_INCOMPATIBLE_VERSION_ERROR;
- }
- return err;
+ if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) {
+ err = g_pNavigatorFuncs->destroystream(instance, stream, reason);
+ }
+ else {
+ err = NPERR_INCOMPATIBLE_VERSION_ERROR;
+ }
+ return err;
}
/* Provides a text status message in the Netscape client user interface
{
g_pNavigatorFuncs->memfree(ptr);
}
-
+#ifdef OJI
/* private function to Netscape. do not use!
*/
void NPN_ReloadPlugins(NPBool reloadPages)
JRIEnv* NPN_GetJavaEnv(void)
{
- return g_pNavigatorFuncs->getJavaEnv();
+ return g_pNavigatorFuncs->getJavaEnv();
}
jref NPN_GetJavaPeer(NPP instance)
{
- return g_pNavigatorFuncs->getJavaPeer(instance);
-}
-
-NPError NPN_GetValue(NPP instance, NPNVariable variable, void *result)
-{
- return g_pNavigatorFuncs->getvalue(instance, variable, result);
-}
-
-NPError NPN_SetValue(NPP instance, NPPVariable variable, void *value)
-{
- return g_pNavigatorFuncs->setvalue(instance, variable, value);
-}
-
-void NPN_InvalidateRect(NPP instance, NPRect *rect)
-{
- g_pNavigatorFuncs->invalidaterect(instance, rect);
-}
-
-void NPN_InvalidateRegion(NPP instance, NPRegion region)
-{
- g_pNavigatorFuncs->invalidateregion(instance, region);
-}
-
-void NPN_ForceRedraw(NPP instance)
-{
- g_pNavigatorFuncs->forceredraw(instance);
-}
-
-NPIdentifier NPN_GetStringIdentifier(const NPUTF8 *name)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->getstringidentifier(name);
- }
- return NULL;
-}
-
-void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t nameCount, NPIdentifier *identifiers)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- g_pNavigatorFuncs->getstringidentifiers(names, nameCount, identifiers);
- }
-}
-
-NPIdentifier NPN_GetIntIdentifier(int32_t intid)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->getintidentifier(intid);
- }
- return NULL;
-}
-
-bool NPN_IdentifierIsString(NPIdentifier identifier)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->identifierisstring(identifier);
- }
- return false;
-}
-
-NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->utf8fromidentifier(identifier);
- }
- return NULL;
-}
-
-int32_t NPN_IntFromIdentifier(NPIdentifier identifier)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->intfromidentifier(identifier);
- }
- return 0;
-}
-
-NPObject *NPN_CreateObject(NPP instance, NPClass *aClass)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->createobject(instance, aClass);
- }
- return NULL;
-}
-
-NPObject *NPN_RetainObject(NPObject *npobj)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->retainobject(npobj);
- }
- return NULL;
-}
-
-void NPN_ReleaseObject(NPObject *npobj)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- g_pNavigatorFuncs->releaseobject(npobj);
- }
-}
-
-bool NPN_Invoke(NPP instance, NPObject *npobj, NPIdentifier methodName, const NPVariant *args, uint32_t argCount, NPVariant *result)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->invoke(instance, npobj, methodName, args, argCount, result);
- }
- return false;
-}
-
-bool NPN_InvokeDefault(NPP instance, NPObject *npobj, const NPVariant *args, uint32_t argCount, NPVariant *result)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->invokeDefault(instance, npobj, args, argCount, result);
- }
- return false;
-}
-
-bool NPN_Evaluate(NPP instance, NPObject *npobj, NPString *script, NPVariant *result)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->evaluate(instance, npobj, script, result);
- }
- return false;
-}
-
-bool NPN_GetProperty(NPP instance, NPObject *npobj, NPIdentifier propertyName, NPVariant *result)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->getproperty(instance, npobj, propertyName, result);
- }
- return false;
-}
-
-bool NPN_SetProperty(NPP instance, NPObject *npobj, NPIdentifier propertyName, const NPVariant *value)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->setproperty(instance, npobj, propertyName, value);
- }
- return false;
-}
-
-bool NPN_RemoveProperty(NPP instance, NPObject *npobj, NPIdentifier propertyName)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->removeproperty(instance, npobj, propertyName);
- }
- return false;
-}
-
-bool NPN_HasProperty(NPP instance, NPObject *npobj, NPIdentifier propertyName)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->hasproperty(instance, npobj, propertyName);
- }
- return false;
-}
-
-bool NPN_HasMethod(NPP instance, NPObject *npobj, NPIdentifier methodName)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- return g_pNavigatorFuncs->hasmethod(instance, npobj, methodName);
- }
- return false;
-}
-
-void NPN_ReleaseVariantValue(NPVariant *variant)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- g_pNavigatorFuncs->releasevariantvalue(variant);
- }
-}
-
-void NPN_SetException(NPObject *npobj, const NPUTF8 *message)
-{
- int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
- if( navMinorVers >= 14 )
- {
- g_pNavigatorFuncs->setexception(npobj, message);
- }
+ return g_pNavigatorFuncs->getJavaPeer(instance);
}
+#endif