Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/browser-plugin/glue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'browser-plugin/glue.cpp')
-rw-r--r--browser-plugin/glue.cpp295
1 files changed, 149 insertions, 146 deletions
diff --git a/browser-plugin/glue.cpp b/browser-plugin/glue.cpp
index f7df522..6028f70 100644
--- a/browser-plugin/glue.cpp
+++ b/browser-plugin/glue.cpp
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; c-indent-level: 8 -*- */
/* this file is part of evince, a gnome document viewer
*
* Copyright (C) 2009 litl, LLC
@@ -36,80 +37,81 @@ NPNetscapeFuncs NPNFuncs;
char *
NP_GetMIMEDescription (void)
{
- ev_init ();
+ ev_init ();
- GString *desc = g_string_new (NULL);
+ GString *desc = g_string_new (NULL);
GList *all_types = ev_backends_manager_get_all_types_info ();
- for (GList *l = all_types; l; l = g_list_next (l)){
- EvTypeInfo *info = (EvTypeInfo *)l->data;
- const char *mime;
- int i = 0;
+ for (GList *l = all_types; l; l = g_list_next (l)){
+ EvTypeInfo *info = (EvTypeInfo *)l->data;
+ const char *mime;
+ int i = 0;
while ((mime = info->mime_types[i++])) {
- g_string_append_printf (desc, "%s:%s:;", mime, info->desc);
+ g_string_append_printf (desc, "%s:%s:;",
+ mime, info->desc);
}
}
- return g_string_free (desc, FALSE);
+ return g_string_free (desc, FALSE);
}
NPError
NP_Initialize (NPNetscapeFuncs *aNPNFuncs, NPPluginFuncs *aNPPFuncs)
{
- /* We need to force libevview to stay in memory because unloading breaks
- gobject type registration and possibly other things. */
- void *handle;
- handle = dlopen ("libevview.so.1.0.0", RTLD_NOW | RTLD_NODELETE);
- if (!handle) {
- return NPERR_MODULE_LOAD_FAILED_ERROR;
- }
- dlclose (handle);
-
- ev_init ();
-
- if (aNPNFuncs == NULL || aNPPFuncs == NULL) {
- return NPERR_INVALID_FUNCTABLE_ERROR;
- }
-
- if ((aNPNFuncs->version >> 8) > NP_VERSION_MAJOR) {
- return NPERR_INCOMPATIBLE_VERSION_ERROR;
- }
-
- if (aNPNFuncs->size < sizeof (NPNetscapeFuncs)) {
- return NPERR_INVALID_FUNCTABLE_ERROR;
- }
-
- if (aNPPFuncs->size < sizeof (NPPluginFuncs)) {
- return NPERR_INVALID_FUNCTABLE_ERROR;
- }
-
- memcpy (&NPNFuncs, aNPNFuncs, sizeof (NPNetscapeFuncs));
- NPNFuncs.size = sizeof (NPNetscapeFuncs);
-
- aNPPFuncs->size = sizeof (NPPluginFuncs);
- aNPPFuncs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR;
- aNPPFuncs->newp = NewNPP_NewProc (NPP_New);
- aNPPFuncs->getvalue = NewNPP_GetValueProc (NPP_GetValue);
- aNPPFuncs->setvalue = NewNPP_SetValueProc (NPP_SetValue);
- aNPPFuncs->setwindow = NewNPP_SetWindowProc (NPP_SetWindow);
- aNPPFuncs->destroy = NewNPP_DestroyProc (NPP_Destroy);
- aNPPFuncs->newstream = NewNPP_NewStreamProc (NPP_NewStream);
- aNPPFuncs->destroystream = NewNPP_DestroyStreamProc (NPP_DestroyStream);
- aNPPFuncs->asfile = NewNPP_StreamAsFileProc (NPP_StreamAsFile);
- aNPPFuncs->writeready = NewNPP_WriteReadyProc (NPP_WriteReady);
- aNPPFuncs->write = NewNPP_WriteProc (NPP_Write);
- aNPPFuncs->print = NewNPP_PrintProc (NPP_Print);
- aNPPFuncs->event = NewNPP_HandleEventProc (NPP_HandleEvent);
- aNPPFuncs->urlnotify = NewNPP_URLNotifyProc (NPP_URLNotify);
-
- return NPERR_NO_ERROR;
+ /* We need to force libevview to stay in memory because unloading
+ breaks gobject type registration and possibly other things. */
+ void *handle;
+ handle = dlopen ("libevview.so.1.0.0", RTLD_NOW | RTLD_NODELETE);
+ if (!handle) {
+ return NPERR_MODULE_LOAD_FAILED_ERROR;
+ }
+ dlclose (handle);
+
+ ev_init ();
+
+ if (aNPNFuncs == NULL || aNPPFuncs == NULL) {
+ return NPERR_INVALID_FUNCTABLE_ERROR;
+ }
+
+ if ((aNPNFuncs->version >> 8) > NP_VERSION_MAJOR) {
+ return NPERR_INCOMPATIBLE_VERSION_ERROR;
+ }
+
+ if (aNPNFuncs->size < sizeof (NPNetscapeFuncs)) {
+ return NPERR_INVALID_FUNCTABLE_ERROR;
+ }
+
+ if (aNPPFuncs->size < sizeof (NPPluginFuncs)) {
+ return NPERR_INVALID_FUNCTABLE_ERROR;
+ }
+
+ memcpy (&NPNFuncs, aNPNFuncs, sizeof (NPNetscapeFuncs));
+ NPNFuncs.size = sizeof (NPNetscapeFuncs);
+
+ aNPPFuncs->size = sizeof (NPPluginFuncs);
+ aNPPFuncs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR;
+ aNPPFuncs->newp = NewNPP_NewProc (NPP_New);
+ aNPPFuncs->getvalue = NewNPP_GetValueProc (NPP_GetValue);
+ aNPPFuncs->setvalue = NewNPP_SetValueProc (NPP_SetValue);
+ aNPPFuncs->setwindow = NewNPP_SetWindowProc (NPP_SetWindow);
+ aNPPFuncs->destroy = NewNPP_DestroyProc (NPP_Destroy);
+ aNPPFuncs->newstream = NewNPP_NewStreamProc (NPP_NewStream);
+ aNPPFuncs->destroystream = NewNPP_DestroyStreamProc (NPP_DestroyStream);
+ aNPPFuncs->asfile = NewNPP_StreamAsFileProc (NPP_StreamAsFile);
+ aNPPFuncs->writeready = NewNPP_WriteReadyProc (NPP_WriteReady);
+ aNPPFuncs->write = NewNPP_WriteProc (NPP_Write);
+ aNPPFuncs->print = NewNPP_PrintProc (NPP_Print);
+ aNPPFuncs->event = NewNPP_HandleEventProc (NPP_HandleEvent);
+ aNPPFuncs->urlnotify = NewNPP_URLNotifyProc (NPP_URLNotify);
+
+ return NPERR_NO_ERROR;
}
NPError
NP_Shutdown (void)
{
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
NPError
@@ -117,33 +119,33 @@ NPP_NewStream (NPP instance, NPMIMEType type,
NPStream* stream, NPBool seekable,
uint16* stype)
{
- *stype = NP_ASFILEONLY;
+ *stype = NP_ASFILEONLY;
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
NPError
NPP_DestroyStream (NPP instance, NPStream* stream, NPReason reason)
{
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
int32
NPP_WriteReady (NPP instance, NPStream* stream)
{
- return -1;
+ return -1;
}
int32 NPP_Write (NPP instance, NPStream* stream,
int32 offset, int32 len, void* buffer)
{
- return -1;
+ return -1;
}
void NPP_StreamAsFile (NPP instance, NPStream* stream, const char* fname)
{
- Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
- plugin->Load (fname);
+ Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
+ plugin->Load (fname);
}
void NPP_Print (NPP instance, NPPrint* platformPrint)
@@ -152,7 +154,7 @@ void NPP_Print (NPP instance, NPPrint* platformPrint)
int16 NPP_HandleEvent (NPP instance, void* event)
{
- return FALSE;
+ return FALSE;
}
void
@@ -162,7 +164,7 @@ NPP_URLNotify (NPP instance, const char* url, NPReason reason, void* notifyData)
NPError NPP_SetValue (NPP instance, NPNVariable variable, void *value)
{
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
NPError
@@ -174,304 +176,305 @@ NPP_New (NPMIMEType mimetype,
char *argv[],
NPSavedData *savedData)
{
- Plugin *plugin = new Plugin (instance);
- instance->pdata = reinterpret_cast<void*> (plugin);
+ Plugin *plugin = new Plugin (instance);
+ instance->pdata = reinterpret_cast<void*> (plugin);
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
NPError
NPP_Destroy (NPP instance, NPSavedData** save)
{
- Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
+ Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
- delete plugin;
+ delete plugin;
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
NPError
NPP_GetValue(NPP instance, NPPVariable variable, void *value)
{
- NPError err = NPERR_NO_ERROR;
- Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
+ NPError err = NPERR_NO_ERROR;
+ Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
- switch (variable) {
- case NPPVpluginNeedsXEmbed:
- *(PRBool *)value = PR_TRUE;
- break;
- case NPPVpluginScriptableNPObject:
- *(NPObject **)value = plugin->GetScriptableNPObject ();
- break;
+ switch (variable) {
+ case NPPVpluginNeedsXEmbed:
+ *(PRBool *)value = PR_TRUE;
+ break;
+ case NPPVpluginScriptableNPObject:
+ *(NPObject **)value = plugin->GetScriptableNPObject ();
+ break;
- default:
- err = NPERR_GENERIC_ERROR;
- }
+ default:
+ err = NPERR_GENERIC_ERROR;
+ }
- return err;
+ return err;
}
NPError
NPP_SetWindow (NPP instance, NPWindow *window)
{
- Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
- plugin->SetWindow ((GdkNativeWindow)window->window);
+ Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
+ plugin->SetWindow ((GdkNativeWindow)window->window);
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
void NPN_Version (int *plugin_major, int *plugin_minor, int *netscape_major,
int *netscape_minor)
{
- *plugin_major = NP_VERSION_MAJOR;
- *plugin_minor = NP_VERSION_MINOR;
- *netscape_major = HIBYTE (NPNFuncs.version);
- *netscape_minor = LOBYTE (NPNFuncs.version);
+ *plugin_major = NP_VERSION_MAJOR;
+ *plugin_minor = NP_VERSION_MINOR;
+ *netscape_major = HIBYTE (NPNFuncs.version);
+ *netscape_minor = LOBYTE (NPNFuncs.version);
}
NPError NPN_GetURLNotify (NPP instance, const char *url,
const char *target, void *notifyData)
{
- return NPNFuncs.geturlnotify (instance, url, target, notifyData);
+ return NPNFuncs.geturlnotify (instance, url, target, notifyData);
}
NPError NPN_GetURL (NPP instance, const char *url, const char *target)
{
- return NPNFuncs.geturl (instance, url, target);
+ return NPNFuncs.geturl (instance, url, target);
}
NPError NPN_PostURLNotify (NPP instance, const char *url, const char *window,
uint32_t len, const char *buf, NPBool file,
void *notifyData)
{
- return NPNFuncs.posturlnotify (instance, url, window,
- len, buf, file, notifyData);
+ return NPNFuncs.posturlnotify (instance, url, window,
+ len, buf, file, notifyData);
}
NPError NPN_PostURL (NPP instance, const char *url, const char *window,
uint32_t len, const char *buf, NPBool file)
{
- return NPNFuncs.posturl (instance, url, window, len, buf, file);
+ return NPNFuncs.posturl (instance, url, window, len, buf, file);
}
NPError NPN_RequestRead (NPStream* stream, NPByteRange* rangeList)
{
- return NPNFuncs.requestread (stream, rangeList);
+ return NPNFuncs.requestread (stream, rangeList);
}
NPError NPN_NewStream (NPP instance, NPMIMEType type,
const char *target, NPStream **stream)
{
- return NPNFuncs.newstream (instance, type, target, stream);
+ return NPNFuncs.newstream (instance, type, target, stream);
}
int32_t NPN_Write (NPP instance, NPStream *stream, int32_t len, void *buffer)
{
- return NPNFuncs.write (instance, stream, len, buffer);
+ return NPNFuncs.write (instance, stream, len, buffer);
}
NPError NPN_DestroyStream (NPP instance, NPStream* stream, NPError reason)
{
- return NPNFuncs.destroystream (instance, stream, reason);
+ return NPNFuncs.destroystream (instance, stream, reason);
}
void NPN_Status (NPP instance, const char *message)
{
- NPNFuncs.status (instance, message);
+ NPNFuncs.status (instance, message);
}
const char* NPN_UserAgent(NPP instance)
{
- return NPNFuncs.uagent (instance);
+ return NPNFuncs.uagent (instance);
}
void* NPN_MemAlloc (uint32 size)
{
- return NPNFuncs.memalloc (size);
+ return NPNFuncs.memalloc (size);
}
void NPN_MemFree (void* ptr)
{
- /* Make it null-safe */
- if (!ptr)
- return;
+ /* Make it null-safe */
+ if (!ptr) {
+ return;
+ }
- NPNFuncs.memfree (ptr);
+ NPNFuncs.memfree (ptr);
}
uint32_t NPN_MemFlush (uint32_t size)
{
- return NPNFuncs.memflush (size);
+ return NPNFuncs.memflush (size);
}
void NPN_ReloadPlugins (NPBool reloadPages)
{
- NPNFuncs.reloadplugins (reloadPages);
+ NPNFuncs.reloadplugins (reloadPages);
}
JRIEnv* NPN_GetJavaEnv (void)
{
- return NPNFuncs.getJavaEnv ();
+ return NPNFuncs.getJavaEnv ();
}
jref NPN_GetJavaPeer (NPP instance)
{
- return NPNFuncs.getJavaPeer (instance);
+ return NPNFuncs.getJavaPeer (instance);
}
NPError NPN_GetValue (NPP instance, NPNVariable variable, void *value)
{
- return NPNFuncs.getvalue (instance, variable, value);
+ return NPNFuncs.getvalue (instance, variable, value);
}
NPError NPN_SetValue (NPP instance, NPPVariable variable, void *value)
{
- return NPNFuncs.setvalue (instance, variable, value);
+ return NPNFuncs.setvalue (instance, variable, value);
}
void NPN_InvalidateRect (NPP instance, NPRect *invalidRect)
{
- NPNFuncs.invalidaterect (instance, invalidRect);
+ NPNFuncs.invalidaterect (instance, invalidRect);
}
void NPN_InvalidateRegion (NPP instance, NPRegion invalidRegion)
{
- NPNFuncs.invalidateregion (instance, invalidRegion);
+ NPNFuncs.invalidateregion (instance, invalidRegion);
}
void NPN_ForceRedraw (NPP instance)
{
- NPNFuncs.forceredraw (instance);
+ NPNFuncs.forceredraw (instance);
}
NPIdentifier NPN_GetStringIdentifier (const NPUTF8 *name)
{
- return NPNFuncs.getstringidentifier (name);
+ return NPNFuncs.getstringidentifier (name);
}
void NPN_GetStringIdentifiers (const NPUTF8 **names, int32_t nameCount,
NPIdentifier *identifiers)
{
- return NPNFuncs.getstringidentifiers (names, nameCount, identifiers);
+ return NPNFuncs.getstringidentifiers (names, nameCount, identifiers);
}
NPIdentifier NPN_GetStringIdentifier (int32_t intid)
{
- return NPNFuncs.getintidentifier (intid);
+ return NPNFuncs.getintidentifier (intid);
}
bool NPN_IdentifierIsString (NPIdentifier identifier)
{
- return NPNFuncs.identifierisstring (identifier);
+ return NPNFuncs.identifierisstring (identifier);
}
NPUTF8 *NPN_UTF8FromIdentifier (NPIdentifier identifier)
{
- return NPNFuncs.utf8fromidentifier (identifier);
+ return NPNFuncs.utf8fromidentifier (identifier);
}
int32_t NPN_IntFromIdentifier (NPIdentifier identifier)
{
- return NPNFuncs.intfromidentifier (identifier);
+ return NPNFuncs.intfromidentifier (identifier);
}
NPObject *NPN_CreateObject (NPP npp, NPClass *aClass)
{
- return NPNFuncs.createobject (npp, aClass);
+ return NPNFuncs.createobject (npp, aClass);
}
NPObject *NPN_RetainObject (NPObject *obj)
{
- return NPNFuncs.retainobject (obj);
+ return NPNFuncs.retainobject (obj);
}
void NPN_ReleaseObject(NPObject *obj)
{
- return NPNFuncs.releaseobject (obj);
+ return NPNFuncs.releaseobject (obj);
}
bool NPN_Invoke (NPP npp, NPObject *obj, NPIdentifier methodName,
const NPVariant *args, uint32_t argCount, NPVariant *result)
{
- return NPNFuncs.invoke (npp, obj, methodName, args, argCount, result);
+ return NPNFuncs.invoke (npp, obj, methodName, args, argCount, result);
}
bool NPN_InvokeDefault (NPP npp, NPObject *obj, const NPVariant *args,
uint32_t argCount, NPVariant *result)
{
- return NPNFuncs.invokeDefault (npp, obj, args, argCount, result);
+ return NPNFuncs.invokeDefault (npp, obj, args, argCount, result);
}
bool NPN_Evaluate (NPP npp, NPObject *obj, NPString *script,
NPVariant *result)
{
- return NPNFuncs.evaluate (npp, obj, script, result);
+ return NPNFuncs.evaluate (npp, obj, script, result);
}
bool NPN_GetProperty (NPP npp, NPObject *obj, NPIdentifier propertyName,
NPVariant *result)
{
- return NPNFuncs.getproperty (npp, obj, propertyName, result);
+ return NPNFuncs.getproperty (npp, obj, propertyName, result);
}
bool NPN_SetProperty (NPP npp, NPObject *obj, NPIdentifier propertyName,
const NPVariant *value)
{
- return NPNFuncs.setproperty (npp, obj, propertyName, value);
+ return NPNFuncs.setproperty (npp, obj, propertyName, value);
}
bool NPN_RemoveProperty (NPP npp, NPObject *obj, NPIdentifier propertyName)
{
- return NPNFuncs.removeproperty (npp, obj, propertyName);
+ return NPNFuncs.removeproperty (npp, obj, propertyName);
}
bool NPN_Enumerate (NPP npp, NPObject *obj, NPIdentifier **identifier,
uint32_t *count)
{
- return NPNFuncs.enumerate (npp, obj, identifier, count);
+ return NPNFuncs.enumerate (npp, obj, identifier, count);
}
bool NPN_Construct (NPP npp, NPObject *obj, const NPVariant *args,
uint32_t argCount, NPVariant *result)
{
- return NPNFuncs.construct (npp, obj, args, argCount, result);
+ return NPNFuncs.construct (npp, obj, args, argCount, result);
}
bool NPN_HasProperty (NPP npp, NPObject *obj, NPIdentifier propertyName)
{
- return NPNFuncs.hasproperty (npp, obj, propertyName);
+ return NPNFuncs.hasproperty (npp, obj, propertyName);
}
bool NPN_HasMethod (NPP npp, NPObject *obj, NPIdentifier methodName)
{
- return NPNFuncs.hasmethod (npp, obj, methodName);
+ return NPNFuncs.hasmethod (npp, obj, methodName);
}
void NPN_ReleaseVariantValue (NPVariant *variant)
{
- NPNFuncs.releasevariantvalue (variant);
+ NPNFuncs.releasevariantvalue (variant);
}
void NPN_SetException (NPObject *obj, const NPUTF8 *message)
{
- NPNFuncs.setexception (obj, message);
+ NPNFuncs.setexception (obj, message);
}
void* NPN_MemDup (const void *aMem, uint32 aLen)
{
- if (!aMem || !aLen) {
- return NULL;
- }
+ if (!aMem || !aLen) {
+ return NULL;
+ }
- void *dup = NPN_MemAlloc (aLen);
- if (!dup) {
- return NULL;
- }
+ void *dup = NPN_MemAlloc (aLen);
+ if (!dup) {
+ return NULL;
+ }
- return memcpy (dup, aMem, aLen);
+ return memcpy (dup, aMem, aLen);
}
char* NPN_StrDup (const char *aString)
{
- return (char *) NPN_MemDup(aString, strlen (aString) + 1);
+ return (char *) NPN_MemDup(aString, strlen (aString) + 1);
}