[Xfce4-commits] <parole:0.2.2> Drop support for the browser plugin.
Ali Abdallah
noreply at xfce.org
Sun May 30 15:10:02 CEST 2010
Updating branch refs/heads/0.2.2
to 82783c4d4aa882b1e7ff3263e921b42d0b9926c3 (commit)
from 5153e30227040aceb108774b205fc8392d92b3a8 (commit)
commit 82783c4d4aa882b1e7ff3263e921b42d0b9926c3
Author: Ali Abdallah <aliov at xfce.org>
Date: Sun May 30 15:09:34 2010 +0200
Drop support for the browser plugin.
Makefile.am | 5 -
browser-plugin/Makefile.am | 63 --
browser-plugin/media-plugin/Makefile.am | 51 -
browser-plugin/media-plugin/main.c | 142 ---
.../media-plugin/org.parole.media.plugin.xml | 32 -
browser-plugin/media-plugin/parole-plugin-player.c | 1076 --------------------
browser-plugin/media-plugin/parole-plugin-player.h | 61 --
browser-plugin/np_entry.cpp | 187 ----
browser-plugin/npapi.h | 717 -------------
browser-plugin/npfunctions.h | 289 ------
browser-plugin/npn_gate.cpp | 325 ------
browser-plugin/npp_gate.cpp | 303 ------
browser-plugin/npruntime.h | 423 --------
browser-plugin/nptypes.h | 113 --
browser-plugin/npupp.h | 711 -------------
browser-plugin/plugin.cpp | 508 ---------
browser-plugin/plugin.h | 113 --
browser-plugin/plugin_setup.cpp | 80 --
browser-plugin/plugin_setup.h | 44 -
browser-plugin/plugin_types.cpp | 135 ---
browser-plugin/plugin_types.h | 47 -
21 files changed, 0 insertions(+), 5425 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index b864bec..7ec106d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,3 @@
-if ENABLE_BROWSER_PLUGIN
-browser_plugin_dir = browser-plugin
-endif
-
SUBDIRS = \
data \
parole \
@@ -10,7 +6,6 @@ SUBDIRS = \
dbus \
src \
plugins \
- $(browser_plugin_dir) \
docs \
po
diff --git a/browser-plugin/Makefile.am b/browser-plugin/Makefile.am
deleted file mode 100644
index f09c828..0000000
--- a/browser-plugin/Makefile.am
+++ /dev/null
@@ -1,63 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-SUBDIRS = media-plugin
-
-DEFINES = -DMOZILLA_STRICT_API -DXP_UNIX
-
-# This is probably not the best thing, but the browser plugin
-# fails to compile with --enable-debug=full so overried CXXFLAGS
-# to get rid of -Wundef -Wredundant-decls -Wmissing-declarations
-CXXFLAGS = -Wall -g -O2 -DXFCE_DISABLE_DEPRECATED
-if DEBUG_BROWSER_PLUGIN
-CXXFLAGS += -Wextra -Wno-missing-field-initializers \
- -Wno-unused-parameter \
- -Wmissing-noreturn -Wshadow \
- -Wpointer-arith -Wcast-align -Wformat-security \
- -Winit-self -Wmissing-include-dirs \
- -Wmissing-format-attribute \
- -fstack-protector -O0 -g3 -Werror
-endif
-
-INCLUDES = \
- -fPIC \
- -I$(top_builddir) \
- -I$(top_srcdir) \
- -DPACKAGE_LOCALE_DIR=\"$(localedir)\" \
- -DG_LOG_DOMAIN=\"parole-browser-plugin\" \
- -DLIBEXECDIR="\"$(libexecdir)\"" \
- $(GTK_CFLAGS) \
- $(DBUS_GLIB_CFLAGS) \
- $(DEFINES)
-
-install_libexecdir = $(BROWSER_PLUGIN_DIR)
-
-install_libexec_PROGRAMS = \
- parole-player.so
-
-parole_player_so_SOURCES = \
- plugin.cpp \
- plugin.h \
- plugin_setup.cpp \
- plugin_setup.h \
- plugin_types.cpp \
- plugin_types.h \
- np_entry.cpp \
- npn_gate.cpp \
- npp_gate.cpp \
- npupp.h \
- npapi.h \
- npfunctions.h \
- npruntime.h \
- nptypes.h
-
-parole_player_so_CFLAGS = \
- -fPIC
-
-parole_player_so_LDFLAGS = \
- -Xcompiler \
- -shared \
- -fPIC
-
-parole_player_so_LDADD = \
- $(GTK_LIBS) \
- $(DBUS_GLIB_LIBS)
diff --git a/browser-plugin/media-plugin/Makefile.am b/browser-plugin/media-plugin/Makefile.am
deleted file mode 100644
index bbac514..0000000
--- a/browser-plugin/media-plugin/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-libexec_PROGRAMS = parole-media-plugin
-
-parole_media_plugin_SOURCES = \
- main.c \
- parole-plugin-player.c \
- parole-plugin-player.h \
- org.parole.media.plugin.h
-
-parole_media_plugin_CFLAGS = \
- -I$(top_srcdir) \
- -I$(top_srcdir)/parole \
- -I$(top_srcdir)/data \
- -I$(top_srcdir)/data/mime \
- -I$(top_srcdir)/dbus \
- -I$(top_srcdir)/gst \
- -I$(top_srcdir)/common \
- -DLOCALEDIR=\"$(localedir)\" \
- -DG_LOG_DOMAIN=\"parole-media-plugin\" \
- -DPAROLE_COMPILATION \
- $(GTHREAD_CFLAGS) \
- $(GTK_CFLAGS) \
- $(GST_VIDEO_CFLAGS) \
- $(GST_INTERFACES_CFLAGS) \
- $(DBUS_GLIB_CFLAGS) \
- $(LIBXFCE4UI_CFLAGS) \
- $(TAGLIBC_CFLAGS)
-
-parole_media_plugin_LDADD = \
- $(top_builddir)/dbus/libparoledbus.la \
- $(top_builddir)/gst/libparolegst.la \
- $(top_builddir)/common/libparolescreensaver.la\
- $(GTHREAD_LIBS) \
- $(GTK_LIBS) \
- $(GST_VIDEO_LIBS) \
- $(GST_INTERFACES_LIBS) \
- $(DBUS_GLIB_LIBS) \
- $(LIBXFCE4UI_LIBS) \
- $(TAGLIBC_LIBS)
-
-if MAINTAINER_MODE
-
-BUILT_SOURCES = \
- org.parole.media.plugin.h
-
-org.parole.media.plugin.h: $(srcdir)/org.parole.media.plugin.xml
- dbus-binding-tool --mode=glib-server --prefix=parole_gst $< >$@
-
-endif
-
-DISTCLEANFILES = \
- $(BUILT_SOURCES)
\ No newline at end of file
diff --git a/browser-plugin/media-plugin/main.c b/browser-plugin/media-plugin/main.c
deleted file mode 100644
index 37cdd9b..0000000
--- a/browser-plugin/media-plugin/main.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * * Copyright (C) 2008-2009 Ali <aliov at xfce.org>
- *
- * Licensed under the GNU General Public License Version 2
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <unistd.h>
-#include <signal.h>
-
-#include <gtk/gtk.h>
-
-#include <libxfce4ui/libxfce4ui.h>
-
-#include <gst/gst.h>
-
-#include "parole-plugin-player.h"
-
-#include "dbus/parole-dbus.h"
-
-static gulong exit_source_id = 0;
-
-static void G_GNUC_NORETURN
-force_exit (gpointer data)
-{
- g_debug ("Forcing exit");
- exit (0);
-}
-
-static void
-posix_signal_handler (gint sig, ParolePluginPlayer *player)
-{
- parole_plugin_player_exit (player);
-
- exit_source_id = g_timeout_add_seconds (4, (GSourceFunc) force_exit, NULL);
-}
-
-int main (int argc, char **argv)
-{
- ParolePluginPlayer *player;
- GdkNativeWindow socket_id = 0;
- gchar *url = NULL;
- GOptionContext *ctx;
- GOptionGroup *gst_option_group;
- GError *error = NULL;
- gchar *dbus_name;
- GtkWidget *plug;
-
- GOptionEntry option_entries[] =
- {
- { "socket-id", 's', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_INT, &socket_id, N_("socket"), N_("SOCKET ID") },
- { "url", '\0', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_STRING, &url, N_("url to play"), N_("URL") },
- { NULL, },
- };
-
- if ( !g_thread_supported () )
- g_thread_init (NULL);
-
- bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
-
-#ifdef HAVE_BIND_TEXTDOMAIN_CODESET
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
-#endif
-
- textdomain (GETTEXT_PACKAGE);
-
- gtk_init (&argc, &argv);
-
- ctx = g_option_context_new (NULL);
-
- gst_option_group = gst_init_get_option_group ();
- g_option_context_add_main_entries (ctx, option_entries, GETTEXT_PACKAGE);
- g_option_context_set_translation_domain (ctx, GETTEXT_PACKAGE);
- g_option_context_add_group (ctx, gst_option_group);
-
- g_option_context_add_group (ctx, gtk_get_option_group (TRUE));
-
- if ( !g_option_context_parse (ctx, &argc, &argv, &error) )
- {
- g_print ("%s\n", error->message);
- g_print ("Type %s --help to list all available command line options", argv[0]);
- g_error_free (error);
- g_option_context_free (ctx);
- return EXIT_FAILURE;
- }
- g_option_context_free (ctx);
-
- dbus_name = g_strdup_printf ("org.Parole.Media.Plugin%d", socket_id);
- parole_dbus_register_name (dbus_name);
-
- plug = gtk_plug_new (socket_id);
-
- player = parole_plugin_player_new (plug, url);
- gtk_widget_show_all (plug);
-
- if ( xfce_posix_signal_handler_init (&error))
- {
- xfce_posix_signal_handler_set_handler (SIGKILL,
- (XfcePosixSignalHandler) posix_signal_handler,
- player, NULL);
- }
- else
- {
- g_warning ("Unable to set up POSIX signal handlers: %s", error->message);
- g_error_free (error);
- }
-
- gtk_main ();
- g_object_unref (player);
- gtk_widget_destroy (plug);
- parole_dbus_release_name (dbus_name);
- g_free (dbus_name);
-
- if ( exit_source_id != 0 )
- g_source_remove (exit_source_id);
-
- g_debug ("Exiting");
- gst_deinit ();
-
- return EXIT_SUCCESS;
-}
diff --git a/browser-plugin/media-plugin/org.parole.media.plugin.xml b/browser-plugin/media-plugin/org.parole.media.plugin.xml
deleted file mode 100644
index e00b3cc..0000000
--- a/browser-plugin/media-plugin/org.parole.media.plugin.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<node name="/">
- <interface name="org.Parole.Media.Plugin">
- <annotation name="org.freedesktop.DBus.GLib.CSymbol"
- value="parole_plugin_player_dbus"/>
-
- <method name="Quit">
- </method>
-
- <method name="Stop">
- </method>
-
- <method name="Ping">
- </method>
-
- <method name="PlayUrl">
- <arg type="s" name="url" direction="in"/>
- </method>
-
- <method name="PlayList">
- <arg type="s" name="list" direction="in"/>
- </method>
-
- <signal name="Ready">
- </signal>
-
- <signal name="Exiting">
- </signal>
-
- </interface>
-</node>
diff --git a/browser-plugin/media-plugin/parole-plugin-player.c b/browser-plugin/media-plugin/parole-plugin-player.c
deleted file mode 100644
index 77192b6..0000000
--- a/browser-plugin/media-plugin/parole-plugin-player.c
+++ /dev/null
@@ -1,1076 +0,0 @@
-/*
- * * Copyright (C) 2009 Ali <aliov at xfce.org>
- *
- * Licensed under the GNU General Public License Version 2
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <gdk/gdkkeysyms.h>
-
-#include <parole/parole.h>
-
-#include <libxfce4util/libxfce4util.h>
-#include <libxfcegui4/libxfcegui4.h>
-
-#include "parole-plugin-player.h"
-
-#include "gst/parole-gst.h"
-#include "dbus/parole-dbus.h"
-#include "common/parole-screensaver.h"
-
-#define RESOURCE_FILE "xfce4/parole/browser-plugin.rc"
-
-/*
- * DBus Glib init
- */
-static void parole_plugin_player_dbus_class_init (ParolePluginPlayerClass *klass);
-static void parole_plugin_player_dbus_init (ParolePluginPlayer *player);
-
-static void parole_plugin_player_finalize (GObject *object);
-
-static void parole_plugin_player_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec);
-static void parole_plugin_player_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec);
-
-#define PAROLE_PLUGIN_PLAYER_GET_PRIVATE(o) \
-(G_TYPE_INSTANCE_GET_PRIVATE ((o), PAROLE_TYPE_PLUGIN_PLAYER, ParolePluginPlayerPrivate))
-
-static GTimer *idle_timer = NULL;
-static GThread *idle_thread = NULL;
-
-struct ParolePluginPlayerPrivate
-{
- DBusGConnection *bus;
- ParoleGst *gst;
- GtkWidget *window;
- GtkWidget *plug;
- GtkWidget *vbox;
- GtkWidget *controls;
- GtkWidget *play;
- GtkWidget *range;
- GtkWidget *full_screen;
- GtkWidget *volume;
- GtkWidget *buffering;
-
- GSList *list;
-
- ParoleScreenSaver *saver;
-
- ParoleMediaState state;
-
- gboolean fullscreen;
-
- gboolean reload;
- gboolean internal_range_change;
- gboolean user_seeking;
- gboolean terminate;
- gboolean finished;
- gchar *url;
- gulong sig;
-};
-
-enum
-{
- PROP_0,
- PROP_PLUG,
- PROP_URL
-};
-
-enum
-{
- SIG_EXITING,
- SIG_READY,
- LAST_SIGNAL
-};
-
-static guint signals [LAST_SIGNAL] = { 0 };
-
-G_DEFINE_TYPE (ParolePluginPlayer, parole_plugin_player, G_TYPE_OBJECT)
-
-static void
-parole_plugin_player_play (ParolePluginPlayer *player)
-{
- if ( player->priv->terminate )
- return;
-
- player->priv->finished = FALSE;
- parole_gst_play_uri (player->priv->gst, player->priv->url, NULL);
-}
-
-static void
-parole_plugin_player_set_fullscreen_button (ParolePluginPlayer *player)
-{
- GtkWidget *img;
-
- g_object_get (G_OBJECT (player->priv->full_screen ),
- "image", &img,
- NULL);
-
- if ( player->priv->fullscreen )
- {
- gtk_image_set_from_stock (GTK_IMAGE (img), GTK_STOCK_LEAVE_FULLSCREEN, GTK_ICON_SIZE_BUTTON);
- gtk_widget_set_tooltip_text (img, _("Leave fullscreen"));
- }
- else
- {
- gtk_image_set_from_stock (GTK_IMAGE (img), GTK_STOCK_FULLSCREEN, GTK_ICON_SIZE_BUTTON);
- gtk_widget_set_tooltip_text (img, _("Fullscreen"));
- }
-
- g_object_unref (G_OBJECT (img));
-}
-
-static void
-parole_plugin_player_fullscreen (ParolePluginPlayer *player, gboolean fullscreen)
-{
- if ( player->priv->fullscreen == fullscreen )
- return;
-
- player->priv->fullscreen = fullscreen;
-
- parole_plugin_player_set_fullscreen_button (player);
-
- if ( fullscreen )
- {
- gtk_widget_show (player->priv->window);
- gtk_widget_reparent (player->priv->vbox, player->priv->window);
- gtk_widget_show_all (player->priv->window);
- gtk_window_fullscreen (GTK_WINDOW (player->priv->window));
- }
- else
- {
- gtk_widget_hide (player->priv->window);
- gtk_widget_reparent (player->priv->vbox, player->priv->plug);
- gtk_window_unfullscreen (GTK_WINDOW (player->priv->window));
- }
-}
-
-static gboolean
-read_entry_int (const gchar *entry, gint fallback)
-{
- gint ret_val = fallback;
- gchar *file;
- XfceRc *rc;
-
- file = xfce_resource_save_location (XFCE_RESOURCE_CONFIG, RESOURCE_FILE, TRUE);
- rc = xfce_rc_simple_open (file, TRUE);
- g_free (file);
-
- if ( rc )
- {
- ret_val = xfce_rc_read_int_entry (rc, entry, fallback);
- xfce_rc_close (rc);
- }
-
- return ret_val;
-}
-
-static void
-write_entry_int (const gchar *entry, gint value)
-{
- gchar *file;
- XfceRc *rc;
-
- file = xfce_resource_save_location (XFCE_RESOURCE_CONFIG, RESOURCE_FILE, TRUE);
- rc = xfce_rc_simple_open (file, FALSE);
- g_free (file);
-
- xfce_rc_write_int_entry (rc, entry, value);
- xfce_rc_close (rc);
-}
-
-static void
-parole_plugin_player_set_play_button_image (ParolePluginPlayer *player)
-{
- GtkWidget *img;
-
- g_object_get (G_OBJECT (player->priv->play),
- "image", &img,
- NULL);
-
- if ( player->priv->state == PAROLE_MEDIA_STATE_PLAYING )
- {
- g_object_set (G_OBJECT (img),
- "stock", GTK_STOCK_MEDIA_PAUSE,
- NULL);
- }
- else
- {
- g_object_set (G_OBJECT (img),
- "stock", GTK_STOCK_MEDIA_PLAY,
- NULL);
-
- }
- g_object_unref (img);
-}
-
-static void
-parole_plugin_player_play_clicked_cb (ParolePluginPlayer *player)
-{
- if ( player->priv->state == PAROLE_MEDIA_STATE_PLAYING )
- parole_gst_pause (player->priv->gst);
- else if ( player->priv->state == PAROLE_MEDIA_STATE_PAUSED )
- parole_gst_resume (player->priv->gst);
- else if ( player->priv->finished )
- parole_gst_stop (PAROLE_GST (player->priv->gst));
-}
-
-static void
-parole_plugin_player_change_range_value (ParolePluginPlayer *player, gdouble value)
-{
- if ( !player->priv->user_seeking )
- {
- player->priv->internal_range_change = TRUE;
-
- gtk_range_set_value (GTK_RANGE (player->priv->range), value);
-
- player->priv->internal_range_change = FALSE;
- }
-}
-
-static void
-parole_plugin_player_media_state_cb (ParoleGst *gst, const ParoleStream *stream,
- ParoleMediaState state, ParolePluginPlayer *player)
-{
- gboolean has_video;
-
-
- g_object_get (G_OBJECT (stream),
- "has-video", &has_video,
- NULL);
-
- g_object_set (G_OBJECT (player->priv->full_screen),
- "visible", has_video,
- NULL);
-
- player->priv->state = state;
- parole_plugin_player_set_play_button_image (player);
-
- if ( has_video && state == PAROLE_MEDIA_STATE_PLAYING )
- parole_screen_saver_inhibit (player->priv->saver);
- else
- parole_screen_saver_uninhibit (player->priv->saver);
-
- if ( state == PAROLE_MEDIA_STATE_PLAYING )
- {
- gint64 duration;
- gboolean seekable;
- gboolean live;
-
- g_object_get (G_OBJECT (stream),
- "seekable", &seekable,
- "duration", &duration,
- "live", &live,
- NULL);
-
- gtk_widget_set_sensitive (player->priv->range, seekable);
- player->priv->internal_range_change = TRUE;
- if ( live || duration == 0 )
- parole_plugin_player_change_range_value (player, 0);
- else
- gtk_range_set_range (GTK_RANGE (player->priv->range), 0, duration);
- player->priv->internal_range_change = FALSE;
-
- gtk_widget_set_tooltip_text (GTK_WIDGET (player->priv->range), seekable ? NULL : _("Media stream is not seekable"));
- }
- else if ( state == PAROLE_MEDIA_STATE_PAUSED )
- {
- parole_plugin_player_change_range_value (player, 0);
- }
- else if ( state == PAROLE_MEDIA_STATE_STOPPED )
- {
- parole_plugin_player_change_range_value (player, 0);
-
- if ( player->priv->terminate )
- {
- gtk_main_quit ();
- }
- else if ( player->priv->reload )
- {
- player->priv->reload = FALSE;
- parole_plugin_player_play (player);
- }
- /* Play next item */
- else if ( player->priv->list != NULL && player->priv->url )
- {
- parole_plugin_player_play (player);
- }
- else if ( player->priv->finished )
- {
- player->priv->finished = FALSE;
- }
- }
- else if ( state == PAROLE_MEDIA_STATE_FINISHED )
- {
- parole_plugin_player_change_range_value (player, 0);
- player->priv->finished = TRUE;
-
- if ( player->priv->url )
- {
- g_free (player->priv->url);
- player->priv->url = NULL;
- }
-
- if ( player->priv->list )
- {
- player->priv->list = player->priv->list->next;
- if ( player->priv->list->data )
- {
- ParoleFile *file = NULL;
- file = PAROLE_FILE (player->priv->list->data);
- if ( file )
- player->priv->url = g_strdup (parole_file_get_uri (file));
- }
- }
- parole_gst_stop (PAROLE_GST (player->priv->gst));
- }
-}
-
-static gboolean
-parole_plugin_player_terminate (GtkWidget *widget, GdkEvent *ev, ParolePluginPlayer *player)
-{
- g_debug ("Delete event");
- parole_gst_terminate (player->priv->gst);
- g_signal_handler_disconnect (player->priv->plug, player->priv->sig);
- player->priv->terminate = TRUE;
- return TRUE;
-}
-
-static void
-parole_plugin_player_range_value_changed (GtkRange *range, ParolePluginPlayer *player)
-{
- gdouble value;
-
- if ( !player->priv->internal_range_change )
- {
- value = gtk_range_get_value (GTK_RANGE (range));
- player->priv->user_seeking = TRUE;
- parole_gst_seek (player->priv->gst, value);
- player->priv->user_seeking = FALSE;
- }
-}
-
-static gboolean
-parole_plugin_player_range_button_release (GtkWidget *widget, GdkEventButton *ev, ParolePluginPlayer *player)
-{
- ev->button = 2;
-
- player->priv->user_seeking = FALSE;
-
- return FALSE;
-}
-
-static gboolean
-parole_plugin_player_range_button_press (GtkWidget *widget, GdkEventButton *ev, ParolePluginPlayer *player)
-{
- ev->button = 2;
-
- player->priv->user_seeking = TRUE;
-
- return FALSE;
-}
-
-static void
-parole_plugin_player_volume_changed_cb (GtkWidget *volume, gdouble value, ParolePluginPlayer *player)
-{
- parole_gst_set_volume (player->priv->gst, value);
- write_entry_int ("volume", (gint) (value * 100));
-}
-
-static void
-parole_plugin_player_media_progressed_cb (ParoleGst *gst, const ParoleStream *stream,
- gint64 value, ParolePluginPlayer *player)
-{
-
- if ( !player->priv->user_seeking && player->priv->state == PAROLE_MEDIA_STATE_PLAYING )
- {
- parole_plugin_player_change_range_value (player, value);
- }
-}
-
-static void
-parole_plugin_player_reload (ParolePluginPlayer *player)
-{
- player->priv->reload = TRUE;
- parole_gst_stop (player->priv->gst);
-}
-
-static void
-parole_plugin_player_copy_url (ParolePluginPlayer *player)
-{
- GtkClipboard *clipboard;
-
- clipboard = gtk_clipboard_get (GDK_SELECTION_PRIMARY);
- gtk_clipboard_set_text (clipboard, player->priv->url, -1);
- clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
- gtk_clipboard_set_text (clipboard, player->priv->url, -1);
-}
-
-static void
-parole_plugin_player_show_menu (ParolePluginPlayer *player, guint button, guint activate_time)
-{
- GtkWidget *menu, *mi, *img;
-
- menu = gtk_menu_new ();
-
- /*
- * Reload
- */
- mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_REFRESH, NULL);
- gtk_widget_show (mi);
- g_signal_connect_swapped (mi, "activate",
- G_CALLBACK (parole_plugin_player_reload), player);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-
-
- /*
- * Copy url
- */
- mi = gtk_image_menu_item_new_with_label (_("Copy url"));
- img = gtk_image_new_from_stock (GTK_STOCK_COPY, GTK_ICON_SIZE_MENU);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi),img);
- gtk_widget_show (mi);
- g_signal_connect_swapped (mi, "activate",
- G_CALLBACK (parole_plugin_player_copy_url), player);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-
-
- g_signal_connect_swapped (menu, "selection-done",
- G_CALLBACK (gtk_widget_destroy), menu);
-
- gtk_menu_popup (GTK_MENU (menu),
- NULL, NULL,
- NULL, NULL,
- button, activate_time);
-}
-
-static gboolean
-parole_plugin_player_gst_widget_button_release (GtkWidget *widget,
- GdkEventButton *ev,
- ParolePluginPlayer *player)
-{
- gboolean ret_val = FALSE;
-
- if ( ev->button == 3 )
- {
- parole_plugin_player_show_menu (player, ev->button, ev->time);
- ret_val = TRUE;
- }
-
- return ret_val;
-}
-
-static void
-parole_plugin_player_fullscreen_clicked_cb (ParolePluginPlayer *player)
-{
- parole_plugin_player_fullscreen (player, !player->priv->fullscreen);
-}
-
-static gboolean
-parole_plugin_player_window_key_press_cb (GtkWidget *widget, GdkEventKey *ev, ParolePluginPlayer *player)
-{
- gboolean ret_val = FALSE;
-
- switch (ev->keyval)
- {
- case GDK_F11:
- case GDK_f:
- case GDK_F:
- parole_plugin_player_fullscreen_clicked_cb (player);
- ret_val = TRUE;
- break;
- case GDK_Escape:
- parole_plugin_player_fullscreen (player, FALSE);
- ret_val = TRUE;
- default:
- break;
- }
-
- return ret_val;
-}
-
-static gboolean
-parole_plugin_player_gst_widget_button_press (GtkWidget *widget, GdkEventButton *ev, ParolePluginPlayer *player)
-{
- gboolean ret_val = FALSE;
-
- /*
- * if full_screen widget is visible then we are playing
- * video file so there is a point to go fullscreen.
- */
- if ( ev->type == GDK_2BUTTON_PRESS && GTK_WIDGET_VISIBLE (player->priv->full_screen) )
- {
- parole_plugin_player_fullscreen_clicked_cb (player);
- ret_val = TRUE;
- }
-
- return ret_val;
-}
-
-static gboolean
-parole_plugin_player_window_delete_event_cb (ParolePluginPlayer *player)
-{
- parole_plugin_player_fullscreen (player, FALSE);
- return TRUE;
-}
-
-static gpointer *check_idle_thread (gpointer data)
-{
- ParolePluginPlayer *player;
-
- player = PAROLE_PLUGIN_PLAYER (data);
-
- do
- {
- g_usleep (1000000);
- if ( g_timer_elapsed (idle_timer, NULL ) > 60.f )
- {
- gtk_main_quit ();
- }
-
- } while ( player->priv->terminate == FALSE );
-
- return NULL;
-}
-
-static void
-parole_plugin_player_dispose (GObject *object)
-{
- ParolePluginPlayer *player;
-
- player = PAROLE_PLUGIN_PLAYER (object);
-
- G_OBJECT_CLASS (parole_plugin_player_parent_class)->dispose (object);
-}
-
-static void
-parole_plugin_player_error_cb (ParoleGst *gst, const gchar *error, ParolePluginPlayer *player)
-{
- player->priv->finished = TRUE;
- parole_screen_saver_uninhibit (player->priv->saver);
- g_warning ("player_error_cb : %s", error);
-
-}
-
-static void
-parole_plugin_player_buffering_cb (ParoleGst *gst, const ParoleStream *stream,
- gint percentage, ParolePluginPlayer *player)
-{
- if ( percentage == 100 )
- {
- gtk_widget_hide (player->priv->buffering);
- }
- else
- {
- gchar *text;
-
- text = g_strdup_printf ("%s %d%%...", _("Buffering"), percentage);
- gtk_label_set_text (GTK_LABEL (player->priv->buffering), text);
- g_free (text);
- gtk_widget_show (player->priv->buffering);
- }
-}
-
-static void
-parole_plugin_player_construct (GObject *object)
-{
- ParolePluginPlayer *player;
- GtkObject *adj;
- GtkWidget *gstbox;
- GtkWidget *vbox;
- GtkWidget *hbox;
- GtkWidget *img;
- GtkWidget *sep;
-
- player = PAROLE_PLUGIN_PLAYER (object);
-
- vbox = gtk_vbox_new (FALSE, 0);
-
- /*
- * Gst Widget
- */
- gstbox = gtk_hbox_new (TRUE, 0);
-
- gtk_box_pack_start (GTK_BOX (gstbox), GTK_WIDGET (player->priv->gst), TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), gstbox, TRUE, TRUE, 0);
-
- g_signal_connect (G_OBJECT (player->priv->gst), "media-state",
- G_CALLBACK (parole_plugin_player_media_state_cb), player);
-
- g_signal_connect (G_OBJECT (player->priv->gst), "error",
- G_CALLBACK (parole_plugin_player_error_cb), player);
-
- g_signal_connect (G_OBJECT (player->priv->gst), "buffering",
- G_CALLBACK (parole_plugin_player_buffering_cb), player);
-
- g_signal_connect (G_OBJECT (player->priv->gst), "media-progressed",
- G_CALLBACK (parole_plugin_player_media_progressed_cb), player);
-
- g_signal_connect_after (G_OBJECT (player->priv->gst), "button-release-event",
- G_CALLBACK (parole_plugin_player_gst_widget_button_release), player);
-
- g_signal_connect_after (G_OBJECT (player->priv->gst), "button-press-event",
- G_CALLBACK (parole_plugin_player_gst_widget_button_press), player);
-
- g_signal_connect (G_OBJECT (player->priv->gst), "error",
- G_CALLBACK (parole_plugin_player_error_cb), player);
-
- hbox = gtk_hbox_new (FALSE, 0);
- /*
- * Play button
- */
- player->priv->play = gtk_button_new ();
-
- g_signal_connect_swapped (player->priv->play, "clicked",
- G_CALLBACK (parole_plugin_player_play_clicked_cb), player);
-
- img = gtk_image_new_from_stock (GTK_STOCK_MEDIA_PLAY, GTK_ICON_SIZE_MENU);
-
- g_object_set (G_OBJECT (player->priv->play),
- "receives-default", FALSE,
- "can-focus", FALSE,
- "relief", GTK_RELIEF_NONE,
- "image", img,
- NULL);
-
- gtk_box_pack_start (GTK_BOX (hbox), player->priv->play,
- FALSE, FALSE, 0);
-
- sep = gtk_vseparator_new ();
- gtk_box_pack_start (GTK_BOX (hbox), sep ,
- FALSE, FALSE, 0);
- /*
- * Media range
- */
- player->priv->range = gtk_hscale_new (NULL);
- g_object_set (G_OBJECT (player->priv->range),
- "draw-value", FALSE,
- "show-fill-level", TRUE,
- NULL);
-
- gtk_box_pack_start (GTK_BOX (hbox), player->priv->range,
- TRUE, TRUE, 0);
-
- g_signal_connect (player->priv->range, "button-press-event",
- G_CALLBACK (parole_plugin_player_range_button_press), player);
-
- g_signal_connect (player->priv->range, "button-release-event",
- G_CALLBACK (parole_plugin_player_range_button_release), player);
-
- g_signal_connect (player->priv->range, "value-changed",
- G_CALLBACK (parole_plugin_player_range_value_changed), player);
-
- sep = gtk_vseparator_new ();
- gtk_box_pack_start (GTK_BOX (hbox), sep,
- FALSE, FALSE, 0);
-
- /*
- * Full screen button
- */
- player->priv->full_screen = gtk_button_new ();
-
- img = gtk_image_new ();
-
- g_object_set (G_OBJECT (player->priv->full_screen),
- "receives-default", FALSE,
- "can-focus", FALSE,
- "relief", GTK_RELIEF_NONE,
- "image", img,
- NULL);
- parole_plugin_player_set_fullscreen_button (player);
- gtk_box_pack_start (GTK_BOX (hbox), player->priv->full_screen,
- FALSE, FALSE, 0);
- sep = gtk_vseparator_new ();
- gtk_box_pack_start (GTK_BOX (hbox), sep,
- FALSE, FALSE, 0);
-
- g_signal_connect_swapped (player->priv->full_screen, "clicked",
- G_CALLBACK (parole_plugin_player_fullscreen_clicked_cb), player);
-
- /*
- * Volume button
- */
- adj = gtk_adjustment_new (0.,
- 0., 1., 1., 0., 0.);
- player->priv->volume = g_object_new (GTK_TYPE_VOLUME_BUTTON,
- "adjustment", adj,
- "size", GTK_ICON_SIZE_MENU,
- NULL);
- gtk_adjustment_set_value (GTK_ADJUSTMENT (adj), (gdouble) (read_entry_int ("volume", 100)/100.) );
- gtk_box_pack_start (GTK_BOX (hbox), player->priv->volume,
- FALSE, FALSE, 0);
-
- g_signal_connect (player->priv->volume, "value-changed",
- G_CALLBACK (parole_plugin_player_volume_changed_cb), player);
-
-
- /*
- * buffering
- */
- player->priv->buffering = gtk_label_new (NULL);
- gtk_widget_set_no_show_all (player->priv->buffering, TRUE);
- gtk_widget_hide (player->priv->buffering);
- gtk_box_pack_start (GTK_BOX (vbox), player->priv->buffering,
- FALSE, FALSE, 0);
-
- gtk_box_pack_start (GTK_BOX (vbox), hbox,
- FALSE, FALSE, 0);
- gtk_container_add (GTK_CONTAINER (player->priv->plug), vbox);
-
- player->priv->sig = g_signal_connect (player->priv->plug, "delete-event",
- G_CALLBACK (parole_plugin_player_terminate), player);
-
- parole_plugin_player_change_range_value (player, 0);
- gtk_widget_set_sensitive (player->priv->range, FALSE);
-
- player->priv->vbox = vbox;
-
- g_signal_emit (player, signals [SIG_READY], 0);
-
- if ( player->priv->url )
- parole_plugin_player_play (player);
-}
-
-static void
-parole_plugin_player_class_init (ParolePluginPlayerClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- object_class->finalize = parole_plugin_player_finalize;
- object_class->dispose = parole_plugin_player_dispose;
-
- object_class->get_property = parole_plugin_player_get_property;
- object_class->set_property = parole_plugin_player_set_property;
-
- object_class->constructed = parole_plugin_player_construct;
-
- signals[SIG_EXITING] =
- g_signal_new ("exiting",
- PAROLE_TYPE_PLUGIN_PLAYER,
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ParolePluginPlayerClass, exiting),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0, G_TYPE_NONE);
-
- signals[SIG_READY] =
- g_signal_new ("ready",
- PAROLE_TYPE_PLUGIN_PLAYER,
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ParolePluginPlayerClass, ready),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0, G_TYPE_NONE);
-
-
- g_object_class_install_property (object_class,
- PROP_PLUG,
- g_param_spec_object ("plug",
- NULL, NULL,
- GTK_TYPE_PLUG,
- G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class,
- PROP_URL,
- g_param_spec_string ("url",
- NULL, NULL,
- NULL,
- G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_READWRITE));
-
- g_type_class_add_private (klass, sizeof (ParolePluginPlayerPrivate));
-
- parole_plugin_player_dbus_class_init (klass);
-}
-
-static void
-parole_plugin_player_init (ParolePluginPlayer *player)
-{
- GError *error = NULL;
-
- player->priv = PAROLE_PLUGIN_PLAYER_GET_PRIVATE (player);
-
- player->priv->bus = parole_g_session_bus_get ();
-
- player->priv->gst = NULL;
- player->priv->saver = parole_screen_saver_new ();
- player->priv->plug = NULL;
- player->priv->fullscreen = FALSE;
- player->priv->terminate = FALSE;
- player->priv->reload = FALSE;
- player->priv->user_seeking = FALSE;
- player->priv->internal_range_change = FALSE;
- player->priv->list = NULL;
- player->priv->state = PAROLE_MEDIA_STATE_STOPPED;
-
- player->priv->gst = PAROLE_GST (parole_gst_new (TRUE, NULL));
-
- player->priv->window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_window_set_keep_above (GTK_WINDOW (player->priv->window), TRUE);
- gtk_window_set_decorated (GTK_WINDOW (player->priv->window), FALSE);
-
- g_signal_connect_swapped (player->priv->window, "delete-event",
- G_CALLBACK (parole_plugin_player_window_delete_event_cb), player);
-
- g_signal_connect (player->priv->window, "key-press-event",
- G_CALLBACK (parole_plugin_player_window_key_press_cb), player);
-
-
- idle_timer = g_timer_new ();
- idle_thread = g_thread_create ((GThreadFunc)check_idle_thread, player, FALSE, &error);
-
- if ( error )
- {
- g_warning ("%s", error->message);
- g_error_free (error);
- }
-
-
- parole_plugin_player_dbus_init (player);
-
-}
-
-static void parole_plugin_player_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- ParolePluginPlayer *player;
- player = PAROLE_PLUGIN_PLAYER (object);
-
- switch (prop_id)
- {
- case PROP_PLUG:
- player->priv->plug = GTK_WIDGET (g_value_get_object (value));
- break;
- case PROP_URL:
- player->priv->url = g_value_dup_string (value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void parole_plugin_player_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- ParolePluginPlayer *player;
- player = PAROLE_PLUGIN_PLAYER (object);
-
- switch (prop_id)
- {
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-parole_plugin_player_finalize (GObject *object)
-{
- ParolePluginPlayer *player;
-
- player = PAROLE_PLUGIN_PLAYER (object);
-
- g_debug ("Finalize...");
-
- dbus_g_connection_unref (player->priv->bus);
-
- g_object_unref (player->priv->saver);
-
- if ( player->priv->url )
- g_free (player->priv->url);
-
- if ( player->priv->list )
- {
- g_slist_foreach (player->priv->list, (GFunc) g_object_unref, NULL);
- g_slist_free (player->priv->list);
- }
-
- G_OBJECT_CLASS (parole_plugin_player_parent_class)->finalize (object);
-}
-
-static gboolean parole_plugin_player_play_idle (gpointer data)
-{
- ParolePluginPlayer *player;
-
- player = PAROLE_PLUGIN_PLAYER (data);
-
- parole_plugin_player_play (player);
-
- return FALSE;
-}
-
-static gboolean
-parole_plugin_player_quit_idle (gpointer data)
-{
- ParolePluginPlayer *player;
-
- player = PAROLE_PLUGIN_PLAYER (data);
-
- parole_gst_terminate (player->priv->gst);
-
- return FALSE;
-}
-
-static gboolean
-parole_plugin_player_stop_idle (gpointer data)
-{
- ParolePluginPlayer *player;
-
- player = PAROLE_PLUGIN_PLAYER (data);
-
- if (player->priv->gst)
- parole_gst_terminate (player->priv->gst);
-
- return FALSE;
-}
-
-ParolePluginPlayer *
-parole_plugin_player_new (GtkWidget *plug, gchar *url)
-{
- ParolePluginPlayer *player = NULL;
-
- player = g_object_new (PAROLE_TYPE_PLUGIN_PLAYER,
- "plug", plug,
- "url", url,
- NULL);
-
- return player;
-}
-
-void parole_plugin_player_exit (ParolePluginPlayer *player)
-{
- player->priv->terminate = TRUE;
- parole_gst_terminate (player->priv->gst);
-}
-
-static gboolean parole_plugin_player_dbus_quit (ParolePluginPlayer *player,
- GError **error);
-
-
-static gboolean parole_plugin_player_dbus_stop (ParolePluginPlayer *player,
- GError **error);
-
-static gboolean parole_plugin_player_dbus_ping (ParolePluginPlayer *player,
- GError **error);
-
-static gboolean parole_plugin_player_dbus_play_url (ParolePluginPlayer *player,
- gchar *in_URL,
- GError **error);
-
-static gboolean parole_plugin_player_dbus_play_list (ParolePluginPlayer *player,
- gchar *list,
- GError **error);
-
-#include "org.parole.media.plugin.h"
-
-/*
- * DBus server implementation
- */
-static void
-parole_plugin_player_dbus_class_init (ParolePluginPlayerClass *klass)
-{
-
- dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (klass),
- &dbus_glib_parole_gst_object_info);
-
-}
-
-static void
-parole_plugin_player_dbus_init (ParolePluginPlayer *player)
-{
- dbus_g_connection_register_g_object (player->priv->bus,
- "/org/Parole/Media/Plugin",
- G_OBJECT (player));
-}
-
-static gboolean
-parole_plugin_player_dbus_quit (ParolePluginPlayer *player,
- GError **error)
-{
- g_debug ("Quit message received");
- player->priv->terminate = TRUE;
- g_idle_add ((GSourceFunc) parole_plugin_player_quit_idle, player);
- return TRUE;
-}
-
-static gboolean
-parole_plugin_player_dbus_stop (ParolePluginPlayer *player, GError **error)
-{
- g_debug ("Stop message received");
- player->priv->terminate = TRUE;
- g_idle_add ((GSourceFunc)parole_plugin_player_stop_idle, player);
-
- return TRUE;
-}
-
-static gboolean parole_plugin_player_dbus_ping (ParolePluginPlayer *player,
- GError **error)
-{
- g_debug ("Ping");
-
- if ( idle_timer )
- g_timer_reset (idle_timer);
-
- return TRUE;
-}
-
-static gboolean parole_plugin_player_dbus_play_url (ParolePluginPlayer *player,
- gchar *in_URL,
- GError **error)
-{
- player->priv->url = g_strdup (in_URL);
- g_debug ("Playing url=%s", in_URL);
- g_idle_add ((GSourceFunc) parole_plugin_player_play_idle, player);
- return TRUE;
-}
-
-static gboolean parole_plugin_player_dbus_play_list (ParolePluginPlayer *player,
- gchar *list,
- GError **error)
-{
- player->priv->list = parole_pl_parser_parse_from_file_by_extension (list);
-
- if ( player->priv->list != NULL && g_slist_length (player->priv->list) != 0 )
- {
- ParoleFile *file;
- file = g_slist_nth_data (player->priv->list, 0);
-
- player->priv->url = g_strdup (parole_file_get_uri (file));
- g_debug ("Playing url=%s", player->priv->url);
- g_idle_add ((GSourceFunc) parole_plugin_player_play_idle, player);
- }
-
- return TRUE;
-}
diff --git a/browser-plugin/media-plugin/parole-plugin-player.h b/browser-plugin/media-plugin/parole-plugin-player.h
deleted file mode 100644
index 4ada19e..0000000
--- a/browser-plugin/media-plugin/parole-plugin-player.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * * Copyright (C) 2009 Ali <aliov at xfce.org>
- *
- * Licensed under the GNU General Public License Version 2
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef __PAROLE_PLUGIN_PLAYER_H
-#define __PAROLE_PLUGIN_PLAYER_H
-
-#include <gtk/gtk.h>
-
-G_BEGIN_DECLS
-
-#define PAROLE_TYPE_PLUGIN_PLAYER (parole_plugin_player_get_type () )
-#define PAROLE_PLUGIN_PLAYER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PAROLE_TYPE_PLUGIN_PLAYER, ParolePluginPlayer))
-#define PAROLE_IS_PLUGIN_PLAYER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PAROLE_TYPE_PLUGIN_PLAYER))
-
-typedef struct ParolePluginPlayerPrivate ParolePluginPlayerPrivate;
-
-typedef struct
-{
- GObject parent;
-
- ParolePluginPlayerPrivate *priv;
-
-} ParolePluginPlayer;
-
-typedef struct
-{
- GObjectClass parent_class;
-
- void (*exiting) (ParolePluginPlayer *player);
-
- void (*ready) (ParolePluginPlayer *player);
-
-} ParolePluginPlayerClass;
-
-GType parole_plugin_player_get_type (void) G_GNUC_CONST;
-
-ParolePluginPlayer *parole_plugin_player_new (GtkWidget *plug,
- gchar *url);
-
-void parole_plugin_player_exit (ParolePluginPlayer *player);
-
-G_END_DECLS
-
-#endif /* __PAROLE_PLUGIN_PLAYER_H */
diff --git a/browser-plugin/np_entry.cpp b/browser-plugin/np_entry.cpp
deleted file mode 100644
index 8acbe82..0000000
--- a/browser-plugin/np_entry.cpp
+++ /dev/null
@@ -1,187 +0,0 @@
-/* -*- 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
- *
- * 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/
- *
- * 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 NPL, 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.
- *
- * ***** END LICENSE BLOCK ***** */
-
-//////////////////////////////////////////////////////////////
-//
-// Main plugin entry point implementation
-//
-#include <npapi.h>
-#include <npfunctions.h>
-#include "npupp.h"
-
-#ifndef HIBYTE
-#define HIBYTE(x) ((((uint32_t)(x)) & 0xff00) >> 8)
-#endif
-
-NPNetscapeFuncs NPNFuncs;
-
-#ifdef XP_WIN
-
-NPError OSCALL NP_GetEntryPoints(NPPluginFuncs * pFuncs)
-{
- if (pFuncs == NULL)
- return NPERR_INVALID_FUNCTABLE_ERROR;
-
- if (pFuncs->size < sizeof(NPPluginFuncs))
- return NPERR_INVALID_FUNCTABLE_ERROR;
-
- pFuncs->version = (NP_VERSION_MAJOR << 8) | NP_VERSION_MINOR;
- pFuncs->newp = NPP_New;
- pFuncs->destroy = NPP_Destroy;
- pFuncs->setwindow = NPP_SetWindow;
- pFuncs->newstream = NPP_NewStream;
- pFuncs->destroystream = NPP_DestroyStream;
- pFuncs->asfile = NPP_StreamAsFile;
- pFuncs->writeready = NPP_WriteReady;
- pFuncs->write = NPP_Write;
- pFuncs->print = NPP_Print;
- pFuncs->event = NPP_HandleEvent;
- pFuncs->urlnotify = NPP_URLNotify;
- pFuncs->getvalue = NPP_GetValue;
- pFuncs->setvalue = NPP_SetValue;
- pFuncs->javaClass = NULL;
-
- return NPERR_NO_ERROR;
-}
-
-#endif /* XP_WIN */
-
-char *NPP_GetMIMEDescription();
-
-char *NP_GetMIMEDescription()
-{
- return NPP_GetMIMEDescription();
-}
-
-NPError NP_GetValue(void *future, NPPVariable variable, void *value)
-{
- return NPP_GetValue((NPP_t *) future, variable, value);
-}
-
-NPError OSCALL NP_Initialize(NPNetscapeFuncs * pFuncs
-#ifdef XP_UNIX
- , NPPluginFuncs * pluginFuncs
-#endif
- )
-{
- if (pFuncs == NULL)
- return NPERR_INVALID_FUNCTABLE_ERROR;
-
- if (HIBYTE(pFuncs->version) > NP_VERSION_MAJOR)
- return NPERR_INCOMPATIBLE_VERSION_ERROR;
-
- if (pFuncs->size < sizeof(NPNetscapeFuncs))
- return NPERR_INVALID_FUNCTABLE_ERROR;
-
- NPNFuncs.size = pFuncs->size;
- NPNFuncs.version = pFuncs->version;
- NPNFuncs.geturlnotify = pFuncs->geturlnotify;
- NPNFuncs.geturl = pFuncs->geturl;
- NPNFuncs.posturlnotify = pFuncs->posturlnotify;
- NPNFuncs.posturl = pFuncs->posturl;
- NPNFuncs.requestread = pFuncs->requestread;
- NPNFuncs.newstream = pFuncs->newstream;
- NPNFuncs.write = pFuncs->write;
- NPNFuncs.destroystream = pFuncs->destroystream;
- NPNFuncs.status = pFuncs->status;
- NPNFuncs.uagent = pFuncs->uagent;
- NPNFuncs.memalloc = pFuncs->memalloc;
- NPNFuncs.memfree = pFuncs->memfree;
- NPNFuncs.memflush = pFuncs->memflush;
- NPNFuncs.reloadplugins = pFuncs->reloadplugins;
- NPNFuncs.getJavaEnv = pFuncs->getJavaEnv;
- NPNFuncs.getJavaPeer = pFuncs->getJavaPeer;
- NPNFuncs.getvalue = pFuncs->getvalue;
- NPNFuncs.setvalue = pFuncs->setvalue;
- NPNFuncs.invalidaterect = pFuncs->invalidaterect;
- NPNFuncs.invalidateregion = pFuncs->invalidateregion;
- NPNFuncs.forceredraw = pFuncs->forceredraw;
- NPNFuncs.getstringidentifier = pFuncs->getstringidentifier;
- NPNFuncs.getstringidentifiers = pFuncs->getstringidentifiers;
- NPNFuncs.getintidentifier = pFuncs->getintidentifier;
- NPNFuncs.identifierisstring = pFuncs->identifierisstring;
- NPNFuncs.utf8fromidentifier = pFuncs->utf8fromidentifier;
- NPNFuncs.intfromidentifier = pFuncs->intfromidentifier;
- NPNFuncs.createobject = pFuncs->createobject;
- NPNFuncs.retainobject = pFuncs->retainobject;
- NPNFuncs.releaseobject = pFuncs->releaseobject;
- NPNFuncs.invoke = pFuncs->invoke;
- NPNFuncs.invokeDefault = pFuncs->invokeDefault;
- NPNFuncs.evaluate = pFuncs->evaluate;
- NPNFuncs.getproperty = pFuncs->getproperty;
- NPNFuncs.setproperty = pFuncs->setproperty;
- NPNFuncs.removeproperty = pFuncs->removeproperty;
- NPNFuncs.hasproperty = pFuncs->hasproperty;
- NPNFuncs.hasmethod = pFuncs->hasmethod;
- NPNFuncs.releasevariantvalue = pFuncs->releasevariantvalue;
- NPNFuncs.setexception = pFuncs->setexception;
-
-#ifdef XP_UNIX
- /*
- * Set up the plugin function table that Netscape will use to
- * call us. Netscape needs to know about our version and size
- * and have a UniversalProcPointer for every function we
- * implement.
- */
- pluginFuncs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR;
- pluginFuncs->size = sizeof(NPPluginFuncs);
- pluginFuncs->newp = NewNPP_NewProc(NPP_New);
- pluginFuncs->destroy = NewNPP_DestroyProc(NPP_Destroy);
- pluginFuncs->setwindow = NewNPP_SetWindowProc(NPP_SetWindow);
- pluginFuncs->newstream = NewNPP_NewStreamProc(NPP_NewStream);
- pluginFuncs->destroystream = NewNPP_DestroyStreamProc(NPP_DestroyStream);
- pluginFuncs->asfile = NewNPP_StreamAsFileProc(NPP_StreamAsFile);
- pluginFuncs->writeready = NewNPP_WriteReadyProc(NPP_WriteReady);
- pluginFuncs->write = NewNPP_WriteProc(NPP_Write);
- pluginFuncs->print = NewNPP_PrintProc(NPP_Print);
- pluginFuncs->urlnotify = NewNPP_URLNotifyProc(NPP_URLNotify);
- pluginFuncs->event = NULL;
- pluginFuncs->getvalue = NewNPP_GetValueProc(NPP_GetValue);
-#ifdef OJI
- pluginFuncs->javaClass = NPP_GetJavaClass();
-#endif
-
- NPP_Initialize();
-#endif
-
- return NPERR_NO_ERROR;
-}
-
-NPError OSCALL NP_Shutdown()
-{
- return NPERR_NO_ERROR;
-}
diff --git a/browser-plugin/npapi.h b/browser-plugin/npapi.h
deleted file mode 100644
index 1f6af83..0000000
--- a/browser-plugin/npapi.h
+++ /dev/null
@@ -1,717 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** 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 ***** */
-
-#ifndef npapi_h_
-#define npapi_h_
-
-#ifdef __OS2__
-#pragma pack(1)
-#endif
-
-#include "nptypes.h"
-
-#ifdef OJI
-#include "jri.h" /* Java Runtime Interface */
-#endif
-
-#if defined (__OS2__) || defined (OS2)
-# ifndef XP_OS2
-# define XP_OS2 1
-# endif /* XP_OS2 */
-#endif /* __OS2__ */
-
-#ifdef _WINDOWS
-# include <windef.h>
-# ifndef XP_WIN
-# define XP_WIN 1
-# endif /* XP_WIN */
-#endif /* _WINDOWS */
-
-#ifdef __MWERKS__
-# define _declspec __declspec
-# ifdef __INTEL__
-# undef NULL
-# ifndef XP_WIN
-# define XP_WIN 1
-# endif /* XP_WIN */
-# endif /* __INTEL__ */
-#endif /* __MWERKS__ */
-
-#ifdef XP_MACOSX
-#include <Carbon/Carbon.h>
-#ifdef __LP64__
-#define NP_NO_QUICKDRAW
-#endif
-#endif
-
-#if defined(XP_UNIX)
-# include <stdio.h>
-# if defined(MOZ_X11)
-# include <X11/Xlib.h>
-# include <X11/Xutil.h>
-# endif
-#endif
-
-/*----------------------------------------------------------------------*/
-/* Plugin Version Constants */
-/*----------------------------------------------------------------------*/
-
-#define NP_VERSION_MAJOR 0
-#define NP_VERSION_MINOR 22
-
-
-/* The OS/2 version of Netscape uses RC_DATA to define the
- mime types, file extensions, etc that are required.
- Use a vertical bar to separate types, end types with \0.
- FileVersion and ProductVersion are 32bit ints, all other
- entries are strings the MUST be terminated wwith a \0.
-
-AN EXAMPLE:
-
-RCDATA NP_INFO_ProductVersion { 1,0,0,1,}
-
-RCDATA NP_INFO_MIMEType { "video/x-video|",
- "video/x-flick\0" }
-RCDATA NP_INFO_FileExtents { "avi|",
- "flc\0" }
-RCDATA NP_INFO_FileOpenName{ "MMOS2 video player(*.avi)|",
- "MMOS2 Flc/Fli player(*.flc)\0" }
-
-RCDATA NP_INFO_FileVersion { 1,0,0,1 }
-RCDATA NP_INFO_CompanyName { "Netscape Communications\0" }
-RCDATA NP_INFO_FileDescription { "NPAVI32 Extension DLL\0"
-RCDATA NP_INFO_InternalName { "NPAVI32\0" )
-RCDATA NP_INFO_LegalCopyright { "Copyright Netscape Communications \251 1996\0"
-RCDATA NP_INFO_OriginalFilename { "NVAPI32.DLL" }
-RCDATA NP_INFO_ProductName { "NPAVI32 Dynamic Link Library\0" }
-*/
-/* RC_DATA types for version info - required */
-#define NP_INFO_ProductVersion 1
-#define NP_INFO_MIMEType 2
-#define NP_INFO_FileOpenName 3
-#define NP_INFO_FileExtents 4
-/* RC_DATA types for version info - used if found */
-#define NP_INFO_FileDescription 5
-#define NP_INFO_ProductName 6
-/* RC_DATA types for version info - optional */
-#define NP_INFO_CompanyName 7
-#define NP_INFO_FileVersion 8
-#define NP_INFO_InternalName 9
-#define NP_INFO_LegalCopyright 10
-#define NP_INFO_OriginalFilename 11
-
-#ifndef RC_INVOKED
-
-/*----------------------------------------------------------------------*/
-/* Definition of Basic Types */
-/*----------------------------------------------------------------------*/
-
-typedef unsigned char NPBool;
-typedef int16_t NPError;
-typedef int16_t NPReason;
-typedef char* NPMIMEType;
-
-/*----------------------------------------------------------------------*/
-/* Structures and definitions */
-/*----------------------------------------------------------------------*/
-
-#if !defined(__LP64__)
-#if defined(XP_MAC) || defined(XP_MACOSX)
-#pragma options align=mac68k
-#endif
-#endif /* __LP64__ */
-
-/*
- * NPP is a plug-in's opaque instance handle
- */
-typedef struct _NPP
-{
- void* pdata; /* plug-in private data */
- void* ndata; /* netscape private data */
-} NPP_t;
-
-typedef NPP_t* NPP;
-
-typedef struct _NPStream
-{
- void* pdata; /* plug-in private data */
- void* ndata; /* netscape private data */
- const char* url;
- uint32_t end;
- uint32_t lastmodified;
- void* notifyData;
- const char* headers; /* Response headers from host.
- * Exists only for >= NPVERS_HAS_RESPONSE_HEADERS.
- * Used for HTTP only; NULL for non-HTTP.
- * Available from NPP_NewStream onwards.
- * Plugin should copy this data before storing it.
- * Includes HTTP status line and all headers,
- * preferably verbatim as received from server,
- * headers formatted as in HTTP ("Header: Value"),
- * and newlines (\n, NOT \r\n) separating lines.
- * Terminated by \n\0 (NOT \n\n\0). */
-} NPStream;
-
-typedef struct _NPByteRange
-{
- int32_t offset; /* negative offset means from the end */
- uint32_t length;
- struct _NPByteRange* next;
-} NPByteRange;
-
-typedef struct _NPSavedData
-{
- int32_t len;
- void* buf;
-} NPSavedData;
-
-typedef struct _NPRect
-{
- uint16_t top;
- uint16_t left;
- uint16_t bottom;
- uint16_t right;
-} NPRect;
-
-typedef struct _NPSize
-{
- int32_t width;
- int32_t height;
-} NPSize;
-
-#ifdef XP_UNIX
-/*
- * Unix specific structures and definitions
- */
-
-/*
- * Callback Structures.
- *
- * These are used to pass additional platform specific information.
- */
-enum {
- NP_SETWINDOW = 1,
- NP_PRINT
-};
-
-typedef struct
-{
- int32_t type;
-} NPAnyCallbackStruct;
-
-typedef struct
-{
- int32_t type;
-#ifdef MOZ_X11
- Display* display;
- Visual* visual;
- Colormap colormap;
- unsigned int depth;
-#endif
-} NPSetWindowCallbackStruct;
-
-typedef struct
-{
- int32_t type;
- FILE* fp;
-} NPPrintCallbackStruct;
-
-#endif /* XP_UNIX */
-
-#ifdef XP_MACOSX
-typedef enum {
-#ifndef NP_NO_QUICKDRAW
- NPDrawingModelQuickDraw = 0,
-#endif
- NPDrawingModelCoreGraphics = 1
-} NPDrawingModel;
-#endif
-
-/*
- * The following masks are applied on certain platforms to NPNV and
- * NPPV selectors that pass around pointers to COM interfaces. Newer
- * compilers on some platforms may generate vtables that are not
- * compatible with older compilers. To prevent older plugins from
- * not understanding a new browser's ABI, these masks change the
- * values of those selectors on those platforms. To remain backwards
- * compatible with differenet versions of the browser, plugins can
- * use these masks to dynamically determine and use the correct C++
- * ABI that the browser is expecting. This does not apply to Windows
- * as Microsoft's COM ABI will likely not change.
- */
-
-#define NP_ABI_GCC3_MASK 0x10000000
-/*
- * gcc 3.x generated vtables on UNIX and OSX are incompatible with
- * previous compilers.
- */
-#if (defined (XP_UNIX) && defined(__GNUC__) && (__GNUC__ >= 3))
-#define _NP_ABI_MIXIN_FOR_GCC3 NP_ABI_GCC3_MASK
-#else
-#define _NP_ABI_MIXIN_FOR_GCC3 0
-#endif
-
-#define NP_ABI_MACHO_MASK 0x01000000
-/*
- * On OSX, the Mach-O executable format is significantly
- * different than CFM. In addition to having a different
- * C++ ABI, it also has has different C calling convention.
- * You must use glue code when calling between CFM and
- * Mach-O C functions.
- */
-#if (defined(TARGET_RT_MAC_MACHO))
-#define _NP_ABI_MIXIN_FOR_MACHO NP_ABI_MACHO_MASK
-#else
-#define _NP_ABI_MIXIN_FOR_MACHO 0
-#endif
-
-#define NP_ABI_MASK (_NP_ABI_MIXIN_FOR_GCC3 | _NP_ABI_MIXIN_FOR_MACHO)
-
-/*
- * List of variable names for which NPP_GetValue shall be implemented
- */
-typedef enum {
- NPPVpluginNameString = 1,
- NPPVpluginDescriptionString,
- NPPVpluginWindowBool,
- NPPVpluginTransparentBool,
- NPPVjavaClass, /* Not implemented in Mozilla 1.0 */
- NPPVpluginWindowSize,
- NPPVpluginTimerInterval,
-
- NPPVpluginScriptableInstance = (10 | NP_ABI_MASK),
- NPPVpluginScriptableIID = 11,
-
- /* Introduced in Mozilla 0.9.9 */
- NPPVjavascriptPushCallerBool = 12,
-
- /* Introduced in Mozilla 1.0 */
- NPPVpluginKeepLibraryInMemory = 13,
- NPPVpluginNeedsXEmbed = 14,
-
- /* Get the NPObject for scripting the plugin. Introduced in Firefox
- * 1.0 (NPAPI minor version 14).
- */
- NPPVpluginScriptableNPObject = 15,
-
- /* Get the plugin value (as \0-terminated UTF-8 string data) for
- * form submission if the plugin is part of a form. Use
- * NPN_MemAlloc() to allocate memory for the string data. Introduced
- * in Mozilla 1.8b2 (NPAPI minor version 15).
- */
- NPPVformValue = 16,
-
- NPPVpluginUrlRequestsDisplayedBool = 17,
-
- /* Checks if the plugin is interested in receiving the http body of
- * all http requests (including failed ones, http status != 200).
- */
- NPPVpluginWantsAllNetworkStreams = 18
-
-#ifdef XP_MACOSX
- /* Used for negotiating drawing models */
- , NPPVpluginDrawingModel = 1000
-#endif
-} NPPVariable;
-
-/*
- * List of variable names for which NPN_GetValue is implemented by Mozilla
- */
-typedef enum {
- NPNVxDisplay = 1,
- NPNVxtAppContext,
- NPNVnetscapeWindow,
- NPNVjavascriptEnabledBool,
- NPNVasdEnabledBool,
- NPNVisOfflineBool,
-
- /* 10 and over are available on Mozilla builds starting with 0.9.4 */
- NPNVserviceManager = (10 | NP_ABI_MASK),
- NPNVDOMElement = (11 | NP_ABI_MASK), /* available in Mozilla 1.2 */
- NPNVDOMWindow = (12 | NP_ABI_MASK),
- NPNVToolkit = (13 | NP_ABI_MASK),
- NPNVSupportsXEmbedBool = 14,
-
- /* Get the NPObject wrapper for the browser window. */
- NPNVWindowNPObject = 15,
-
- /* Get the NPObject wrapper for the plugins DOM element. */
- NPNVPluginElementNPObject = 16,
-
- NPNVSupportsWindowless = 17,
-
- NPNVprivateModeBool = 18
-
-#ifdef XP_MACOSX
- /* Used for negotiating drawing models */
- , NPNVpluginDrawingModel = 1000
-#ifndef NP_NO_QUICKDRAW
- , NPNVsupportsQuickDrawBool = 2000
-#endif
- , NPNVsupportsCoreGraphicsBool = 2001
-#endif
-} NPNVariable;
-
-typedef enum {
- NPNURLVCookie = 501,
- NPNURLVProxy
-} NPNURLVariable;
-
-/*
- * The type of Tookkit the widgets use
- */
-typedef enum {
- NPNVGtk12 = 1,
- NPNVGtk2
-} NPNToolkitType;
-
-/*
- * The type of a NPWindow - it specifies the type of the data structure
- * returned in the window field.
- */
-typedef enum {
- NPWindowTypeWindow = 1,
- NPWindowTypeDrawable
-} NPWindowType;
-
-typedef struct _NPWindow
-{
- void* window; /* Platform specific window handle */
- /* OS/2: x - Position of bottom left corner */
- /* OS/2: y - relative to visible netscape window */
- int32_t x; /* Position of top left corner relative */
- int32_t y; /* to a netscape page. */
- uint32_t width; /* Maximum window size */
- uint32_t height;
- NPRect clipRect; /* Clipping rectangle in port coordinates */
- /* Used by MAC only. */
-#if defined(XP_UNIX) && !defined(XP_MACOSX)
- void * ws_info; /* Platform-dependent additonal data */
-#endif /* XP_UNIX */
- NPWindowType type; /* Is this a window or a drawable? */
-} NPWindow;
-
-
-typedef struct _NPFullPrint
-{
- NPBool pluginPrinted;/* Set TRUE if plugin handled fullscreen printing */
- NPBool printOne; /* TRUE if plugin should print one copy to default
- printer */
- void* platformPrint; /* Platform-specific printing info */
-} NPFullPrint;
-
-typedef struct _NPEmbedPrint
-{
- NPWindow window;
- void* platformPrint; /* Platform-specific printing info */
-} NPEmbedPrint;
-
-typedef struct _NPPrint
-{
- uint16_t mode; /* NP_FULL or NP_EMBED */
- union
- {
- NPFullPrint fullPrint; /* if mode is NP_FULL */
- NPEmbedPrint embedPrint; /* if mode is NP_EMBED */
- } print;
-} NPPrint;
-
-#ifdef XP_MACOSX
-typedef EventRecord NPEvent;
-#elif defined(XP_WIN)
-typedef struct _NPEvent
-{
- uint16_t event;
- uint32_t wParam;
- uint32_t lParam;
-} NPEvent;
-#elif defined(XP_OS2)
-typedef struct _NPEvent
-{
- uint32_t event;
- uint32_t wParam;
- uint32_t lParam;
-} NPEvent;
-#elif defined (XP_UNIX) && defined(MOZ_X11)
-typedef XEvent NPEvent;
-#else
-typedef void* NPEvent;
-#endif /* XP_MACOSX */
-
-#ifdef XP_MACOSX
-
-typedef void* NPRegion;
-#ifndef NP_NO_QUICKDRAW
-typedef RgnHandle NPQDRegion;
-#endif
-typedef CGPathRef NPCGRegion;
-#elif defined(XP_WIN)
-typedef HRGN NPRegion;
-#elif defined(XP_UNIX) && defined(MOZ_X11)
-typedef Region NPRegion;
-#else
-typedef void *NPRegion;
-#endif
-
-#ifdef XP_MACOSX
-typedef struct NP_Port
-{
- CGrafPtr port;
- int32_t portx; /* position inside the topmost window */
- int32_t porty;
-} NP_Port;
-
-typedef struct NP_CGContext
-{
- CGContextRef context;
- WindowRef window;
-} NP_CGContext;
-
-/* Non-standard event types that can be passed to HandleEvent */
-enum NPEventType {
- NPEventType_GetFocusEvent = (osEvt + 16),
- NPEventType_LoseFocusEvent,
- NPEventType_AdjustCursorEvent,
- NPEventType_MenuCommandEvent,
- NPEventType_ClippingChangedEvent,
- NPEventType_ScrollingBeginsEvent = 1000,
- NPEventType_ScrollingEndsEvent
-};
-
-#ifdef OBSOLETE
-#define getFocusEvent (osEvt + 16)
-#define loseFocusEvent (osEvt + 17)
-#define adjustCursorEvent (osEvt + 18)
-#endif
-
-#endif /* XP_MACOSX */
-
-/*
- * Values for mode passed to NPP_New:
- */
-#define NP_EMBED 1
-#define NP_FULL 2
-
-/*
- * Values for stream type passed to NPP_NewStream:
- */
-#define NP_NORMAL 1
-#define NP_SEEK 2
-#define NP_ASFILE 3
-#define NP_ASFILEONLY 4
-
-#define NP_MAXREADY (((unsigned)(~0)<<1)>>1)
-
-#if !defined(__LP64__)
-#if defined(XP_MAC) || defined(XP_MACOSX)
-#pragma options align=reset
-#endif
-#endif /* __LP64__ */
-
-/*----------------------------------------------------------------------*/
-/* Error and Reason Code definitions */
-/*----------------------------------------------------------------------*/
-
-/*
- * Values of type NPError:
- */
-#define NPERR_BASE 0
-#define NPERR_NO_ERROR (NPERR_BASE + 0)
-#define NPERR_GENERIC_ERROR (NPERR_BASE + 1)
-#define NPERR_INVALID_INSTANCE_ERROR (NPERR_BASE + 2)
-#define NPERR_INVALID_FUNCTABLE_ERROR (NPERR_BASE + 3)
-#define NPERR_MODULE_LOAD_FAILED_ERROR (NPERR_BASE + 4)
-#define NPERR_OUT_OF_MEMORY_ERROR (NPERR_BASE + 5)
-#define NPERR_INVALID_PLUGIN_ERROR (NPERR_BASE + 6)
-#define NPERR_INVALID_PLUGIN_DIR_ERROR (NPERR_BASE + 7)
-#define NPERR_INCOMPATIBLE_VERSION_ERROR (NPERR_BASE + 8)
-#define NPERR_INVALID_PARAM (NPERR_BASE + 9)
-#define NPERR_INVALID_URL (NPERR_BASE + 10)
-#define NPERR_FILE_NOT_FOUND (NPERR_BASE + 11)
-#define NPERR_NO_DATA (NPERR_BASE + 12)
-#define NPERR_STREAM_NOT_SEEKABLE (NPERR_BASE + 13)
-
-/*
- * Values of type NPReason:
- */
-#define NPRES_BASE 0
-#define NPRES_DONE (NPRES_BASE + 0)
-#define NPRES_NETWORK_ERR (NPRES_BASE + 1)
-#define NPRES_USER_BREAK (NPRES_BASE + 2)
-
-/*
- * Don't use these obsolete error codes any more.
- */
-#define NP_NOERR NP_NOERR_is_obsolete_use_NPERR_NO_ERROR
-#define NP_EINVAL NP_EINVAL_is_obsolete_use_NPERR_GENERIC_ERROR
-#define NP_EABORT NP_EABORT_is_obsolete_use_NPRES_USER_BREAK
-
-/*
- * Version feature information
- */
-#define NPVERS_HAS_STREAMOUTPUT 8
-#define NPVERS_HAS_NOTIFICATION 9
-#define NPVERS_HAS_LIVECONNECT 9
-#define NPVERS_WIN16_HAS_LIVECONNECT 9
-#define NPVERS_68K_HAS_LIVECONNECT 11
-#define NPVERS_HAS_WINDOWLESS 11
-#define NPVERS_HAS_XPCONNECT_SCRIPTING 13
-#define NPVERS_HAS_NPRUNTIME_SCRIPTING 14
-#define NPVERS_HAS_FORM_VALUES 15
-#define NPVERS_HAS_POPUPS_ENABLED_STATE 16
-#define NPVERS_HAS_RESPONSE_HEADERS 17
-#define NPVERS_HAS_NPOBJECT_ENUM 18
-#define NPVERS_HAS_PLUGIN_THREAD_ASYNC_CALL 19
-#define NPVERS_HAS_ALL_NETWORK_STREAMS 20
-#define NPVERS_HAS_URL_AND_AUTH_INFO 21
-
-/*----------------------------------------------------------------------*/
-/* Function Prototypes */
-/*----------------------------------------------------------------------*/
-
-#if defined(__OS2__)
-#define NP_LOADDS _System
-#else
-#define NP_LOADDS
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* NPP_* functions are provided by the plugin and called by the navigator. */
-
-#ifdef XP_UNIX
-char* NPP_GetMIMEDescription();
-#endif
-
-NPError NP_LOADDS NPP_Initialize();
-void NP_LOADDS NPP_Shutdown();
-NPError NP_LOADDS NPP_New(NPMIMEType pluginType, NPP instance,
- uint16_t mode, int16_t argc, char* argn[],
- char* argv[], NPSavedData* saved);
-NPError NP_LOADDS NPP_Destroy(NPP instance, NPSavedData** save);
-NPError NP_LOADDS NPP_SetWindow(NPP instance, NPWindow* window);
-NPError NP_LOADDS NPP_NewStream(NPP instance, NPMIMEType type,
- NPStream* stream, NPBool seekable,
- uint16_t* stype);
-NPError NP_LOADDS NPP_DestroyStream(NPP instance, NPStream* stream,
- NPReason reason);
-int32_t NP_LOADDS NPP_WriteReady(NPP instance, NPStream* stream);
-int32_t NP_LOADDS NPP_Write(NPP instance, NPStream* stream, int32_t offset,
- int32_t len, void* buffer);
-void NP_LOADDS NPP_StreamAsFile(NPP instance, NPStream* stream,
- const char* fname);
-void NP_LOADDS NPP_Print(NPP instance, NPPrint* platformPrint);
-int16_t NP_LOADDS NPP_HandleEvent(NPP instance, void* event);
-void NP_LOADDS NPP_URLNotify(NPP instance, const char* url,
- NPReason reason, void* notifyData);
-#ifdef OJI
-jref NP_LOADDS NPP_GetJavaClass();
-#endif
-NPError NP_LOADDS NPP_GetValue(NPP instance, NPPVariable variable, void *value);
-NPError NP_LOADDS NPP_SetValue(NPP instance, NPNVariable variable, void *value);
-
-/* NPN_* functions are provided by the navigator and called by the plugin. */
-void NP_LOADDS NPN_Version(int* plugin_major, int* plugin_minor,
- int* netscape_major, int* netscape_minor);
-NPError NP_LOADDS NPN_GetURLNotify(NPP instance, const char* url,
- const char* target, void* notifyData);
-NPError NP_LOADDS NPN_GetURL(NPP instance, const char* url,
- const char* target);
-NPError NP_LOADDS NPN_PostURLNotify(NPP instance, const char* url,
- const char* target, uint32_t len,
- const char* buf, NPBool file,
- void* notifyData);
-NPError NP_LOADDS NPN_PostURL(NPP instance, const char* url,
- const char* target, uint32_t len,
- const char* buf, NPBool file);
-NPError NP_LOADDS NPN_RequestRead(NPStream* stream, NPByteRange* rangeList);
-NPError NP_LOADDS NPN_NewStream(NPP instance, NPMIMEType type,
- const char* target, NPStream** stream);
-int32_t NP_LOADDS NPN_Write(NPP instance, NPStream* stream, int32_t len,
- void* buffer);
-NPError NP_LOADDS NPN_DestroyStream(NPP instance, NPStream* stream,
- NPReason reason);
-void NP_LOADDS NPN_Status(NPP instance, const char* message);
-const char* NP_LOADDS NPN_UserAgent(NPP instance);
-void* NP_LOADDS NPN_MemAlloc(uint32_t size);
-void NP_LOADDS NPN_MemFree(void* ptr);
-uint32_t NP_LOADDS NPN_MemFlush(uint32_t size);
-void NP_LOADDS NPN_ReloadPlugins(NPBool reloadPages);
-#ifdef OJI
-JRIEnv* NP_LOADDS NPN_GetJavaEnv();
-jref NP_LOADDS NPN_GetJavaPeer(NPP instance);
-#endif
-NPError NP_LOADDS NPN_GetValue(NPP instance, NPNVariable variable,
- void *value);
-NPError NP_LOADDS NPN_SetValue(NPP instance, NPPVariable variable,
- void *value);
-void NP_LOADDS NPN_InvalidateRect(NPP instance, NPRect *invalidRect);
-void NP_LOADDS NPN_InvalidateRegion(NPP instance,
- NPRegion invalidRegion);
-void NP_LOADDS NPN_ForceRedraw(NPP instance);
-void NP_LOADDS NPN_PushPopupsEnabledState(NPP instance, NPBool enabled);
-void NP_LOADDS NPN_PopPopupsEnabledState(NPP instance);
-void NP_LOADDS NPN_PluginThreadAsyncCall(NPP instance,
- void (*func) (void *),
- void *userData);
-NPError NP_LOADDS NPN_GetValueForURL(NPP instance, NPNURLVariable variable,
- const char *url, char **value,
- uint32_t *len);
-NPError NP_LOADDS NPN_SetValueForURL(NPP instance, NPNURLVariable variable,
- const char *url, const char *value,
- uint32_t len);
-NPError NP_LOADDS NPN_GetAuthenticationInfo(NPP instance,
- const char *protocol,
- const char *host, int32_t port,
- const char *scheme,
- const char *realm,
- char **username, uint32_t *ulen,
- char **password,
- uint32_t *plen);
-
-#ifdef __cplusplus
-} /* end extern "C" */
-#endif
-
-#endif /* RC_INVOKED */
-#ifdef __OS2__
-#pragma pack()
-#endif
-
-#endif /* npapi_h_ */
diff --git a/browser-plugin/npfunctions.h b/browser-plugin/npfunctions.h
deleted file mode 100644
index c20ebe0..0000000
--- a/browser-plugin/npfunctions.h
+++ /dev/null
@@ -1,289 +0,0 @@
-/* -*- 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 ***** */
-
-#ifndef npfunctions_h_
-#define npfunctions_h_
-
-#ifdef __OS2__
-#pragma pack(1)
-#define NP_LOADDS _System
-#else
-#define NP_LOADDS
-#endif
-
-#ifndef GENERATINGCFM
-#define GENERATINGCFM 0
-#endif
-
-#include "npapi.h"
-#include "npruntime.h"
-
-typedef void (* NP_LOADDS NPP_InitializeProcPtr)();
-typedef void (* NP_LOADDS NPP_ShutdownProcPtr)();
-typedef NPError (* NP_LOADDS NPP_NewProcPtr)(NPMIMEType pluginType, NPP instance, uint16_t mode, int16_t argc, char* argn[], char* argv[], NPSavedData* saved);
-typedef NPError (* NP_LOADDS NPP_DestroyProcPtr)(NPP instance, NPSavedData** save);
-typedef NPError (* NP_LOADDS NPP_SetWindowProcPtr)(NPP instance, NPWindow* window);
-typedef NPError (* NP_LOADDS NPP_NewStreamProcPtr)(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16_t* stype);
-typedef NPError (* NP_LOADDS NPP_DestroyStreamProcPtr)(NPP instance, NPStream* stream, NPReason reason);
-typedef int32_t (* NP_LOADDS NPP_WriteReadyProcPtr)(NPP instance, NPStream* stream);
-typedef int32_t (* NP_LOADDS NPP_WriteProcPtr)(NPP instance, NPStream* stream, int32_t offset, int32_t len, void* buffer);
-typedef void (* NP_LOADDS NPP_StreamAsFileProcPtr)(NPP instance, NPStream* stream, const char* fname);
-typedef void (* NP_LOADDS NPP_PrintProcPtr)(NPP instance, NPPrint* platformPrint);
-typedef int16_t (* NP_LOADDS NPP_HandleEventProcPtr)(NPP instance, void* event);
-typedef void (* NP_LOADDS NPP_URLNotifyProcPtr)(NPP instance, const char* url, NPReason reason, void* notifyData);
-typedef NPError (* NP_LOADDS NPP_GetValueProcPtr)(NPP instance, NPPVariable variable, void *ret_value);
-typedef NPError (* NP_LOADDS NPP_SetValueProcPtr)(NPP instance, NPNVariable variable, void *value);
-
-typedef NPError (*NPN_GetValueProcPtr)(NPP instance, NPNVariable variable, void *ret_value);
-typedef NPError (*NPN_SetValueProcPtr)(NPP instance, NPPVariable variable, void *value);
-typedef NPError (*NPN_GetURLNotifyProcPtr)(NPP instance, const char* url, const char* window, void* notifyData);
-typedef NPError (*NPN_PostURLNotifyProcPtr)(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file, void* notifyData);
-typedef NPError (*NPN_GetURLProcPtr)(NPP instance, const char* url, const char* window);
-typedef NPError (*NPN_PostURLProcPtr)(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file);
-typedef NPError (*NPN_RequestReadProcPtr)(NPStream* stream, NPByteRange* rangeList);
-typedef NPError (*NPN_NewStreamProcPtr)(NPP instance, NPMIMEType type, const char* window, NPStream** stream);
-typedef int32_t (*NPN_WriteProcPtr)(NPP instance, NPStream* stream, int32_t len, void* buffer);
-typedef NPError (*NPN_DestroyStreamProcPtr)(NPP instance, NPStream* stream, NPReason reason);
-typedef void (*NPN_StatusProcPtr)(NPP instance, const char* message);
-typedef const char* (*NPN_UserAgentProcPtr)(NPP instance);
-typedef void* (*NPN_MemAllocProcPtr)(uint32_t size);
-typedef void (*NPN_MemFreeProcPtr)(void* ptr);
-typedef uint32_t (*NPN_MemFlushProcPtr)(uint32_t size);
-typedef void (*NPN_ReloadPluginsProcPtr)(NPBool reloadPages);
-typedef void* (*NPN_GetJavaEnvProcPtr)();
-typedef void* (*NPN_GetJavaPeerProcPtr)(NPP instance);
-typedef void (*NPN_InvalidateRectProcPtr)(NPP instance, NPRect *rect);
-typedef void (*NPN_InvalidateRegionProcPtr)(NPP instance, NPRegion region);
-typedef void (*NPN_ForceRedrawProcPtr)(NPP instance);
-typedef NPIdentifier (*NPN_GetStringIdentifierProcPtr)(const NPUTF8* name);
-typedef void (*NPN_GetStringIdentifiersProcPtr)(const NPUTF8** names, int32_t nameCount, NPIdentifier* identifiers);
-typedef NPIdentifier (*NPN_GetIntIdentifierProcPtr)(int32_t intid);
-typedef bool (*NPN_IdentifierIsStringProcPtr)(NPIdentifier identifier);
-typedef NPUTF8* (*NPN_UTF8FromIdentifierProcPtr)(NPIdentifier identifier);
-typedef int32_t (*NPN_IntFromIdentifierProcPtr)(NPIdentifier identifier);
-typedef NPObject* (*NPN_CreateObjectProcPtr)(NPP npp, NPClass *aClass);
-typedef NPObject* (*NPN_RetainObjectProcPtr)(NPObject *obj);
-typedef void (*NPN_ReleaseObjectProcPtr)(NPObject *obj);
-typedef bool (*NPN_InvokeProcPtr)(NPP npp, NPObject* obj, NPIdentifier methodName, const NPVariant *args, uint32_t argCount, NPVariant *result);
-typedef bool (*NPN_InvokeDefaultProcPtr)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result);
-typedef bool (*NPN_EvaluateProcPtr)(NPP npp, NPObject *obj, NPString *script, NPVariant *result);
-typedef bool (*NPN_GetPropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName, NPVariant *result);
-typedef bool (*NPN_SetPropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName, const NPVariant *value);
-typedef bool (*NPN_RemovePropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName);
-typedef bool (*NPN_HasPropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName);
-typedef bool (*NPN_HasMethodProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName);
-typedef void (*NPN_ReleaseVariantValueProcPtr)(NPVariant *variant);
-typedef void (*NPN_SetExceptionProcPtr)(NPObject *obj, const NPUTF8 *message);
-typedef bool (*NPN_PushPopupsEnabledStateProcPtr)(NPP npp, NPBool enabled);
-typedef bool (*NPN_PopPopupsEnabledStateProcPtr)(NPP npp);
-typedef bool (*NPN_EnumerateProcPtr)(NPP npp, NPObject *obj, NPIdentifier **identifier, uint32_t *count);
-typedef void (*NPN_PluginThreadAsyncCallProcPtr)(NPP instance, void (*func)(void *), void *userData);
-typedef bool (*NPN_ConstructProcPtr)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result);
-typedef NPError (*NPN_GetValueForURLPtr)(NPP npp, NPNURLVariable variable, const char *url, char **value, uint32_t *len);
-typedef NPError (*NPN_SetValueForURLPtr)(NPP npp, NPNURLVariable variable, const char *url, const char *value, uint32_t len);
-typedef NPError (*NPN_GetAuthenticationInfoPtr)(NPP npp, const char *protocol, const char *host, int32_t port, const char *scheme, const char *realm, char **username, uint32_t *ulen, char **password, uint32_t *plen);
-
-typedef struct _NPPluginFuncs {
- uint16_t size;
- uint16_t version;
- NPP_NewProcPtr newp;
- NPP_DestroyProcPtr destroy;
- NPP_SetWindowProcPtr setwindow;
- NPP_NewStreamProcPtr newstream;
- NPP_DestroyStreamProcPtr destroystream;
- NPP_StreamAsFileProcPtr asfile;
- NPP_WriteReadyProcPtr writeready;
- NPP_WriteProcPtr write;
- NPP_PrintProcPtr print;
- NPP_HandleEventProcPtr event;
- NPP_URLNotifyProcPtr urlnotify;
- void* javaClass;
- NPP_GetValueProcPtr getvalue;
- NPP_SetValueProcPtr setvalue;
-} NPPluginFuncs;
-
-typedef struct _NPNetscapeFuncs {
- uint16_t size;
- uint16_t version;
- NPN_GetURLProcPtr geturl;
- NPN_PostURLProcPtr posturl;
- NPN_RequestReadProcPtr requestread;
- NPN_NewStreamProcPtr newstream;
- NPN_WriteProcPtr write;
- NPN_DestroyStreamProcPtr destroystream;
- NPN_StatusProcPtr status;
- NPN_UserAgentProcPtr uagent;
- NPN_MemAllocProcPtr memalloc;
- NPN_MemFreeProcPtr memfree;
- NPN_MemFlushProcPtr memflush;
- NPN_ReloadPluginsProcPtr reloadplugins;
- NPN_GetJavaEnvProcPtr getJavaEnv;
- NPN_GetJavaPeerProcPtr getJavaPeer;
- NPN_GetURLNotifyProcPtr geturlnotify;
- NPN_PostURLNotifyProcPtr posturlnotify;
- NPN_GetValueProcPtr getvalue;
- NPN_SetValueProcPtr setvalue;
- NPN_InvalidateRectProcPtr invalidaterect;
- NPN_InvalidateRegionProcPtr invalidateregion;
- NPN_ForceRedrawProcPtr forceredraw;
- NPN_GetStringIdentifierProcPtr getstringidentifier;
- NPN_GetStringIdentifiersProcPtr getstringidentifiers;
- NPN_GetIntIdentifierProcPtr getintidentifier;
- NPN_IdentifierIsStringProcPtr identifierisstring;
- NPN_UTF8FromIdentifierProcPtr utf8fromidentifier;
- NPN_IntFromIdentifierProcPtr intfromidentifier;
- NPN_CreateObjectProcPtr createobject;
- NPN_RetainObjectProcPtr retainobject;
- NPN_ReleaseObjectProcPtr releaseobject;
- NPN_InvokeProcPtr invoke;
- NPN_InvokeDefaultProcPtr invokeDefault;
- NPN_EvaluateProcPtr evaluate;
- NPN_GetPropertyProcPtr getproperty;
- NPN_SetPropertyProcPtr setproperty;
- NPN_RemovePropertyProcPtr removeproperty;
- NPN_HasPropertyProcPtr hasproperty;
- NPN_HasMethodProcPtr hasmethod;
- NPN_ReleaseVariantValueProcPtr releasevariantvalue;
- NPN_SetExceptionProcPtr setexception;
- NPN_PushPopupsEnabledStateProcPtr pushpopupsenabledstate;
- NPN_PopPopupsEnabledStateProcPtr poppopupsenabledstate;
- NPN_EnumerateProcPtr enumerate;
- NPN_PluginThreadAsyncCallProcPtr pluginthreadasynccall;
- NPN_ConstructProcPtr construct;
- NPN_GetValueForURLPtr getvalueforurl;
- NPN_SetValueForURLPtr setvalueforurl;
- NPN_GetAuthenticationInfoPtr getauthenticationinfo;
-} NPNetscapeFuncs;
-
-#ifdef XP_MACOSX
-/* Don't use this, it is going away. */
-typedef NPError (* NPP_MainEntryProcPtr)(NPNetscapeFuncs*, NPPluginFuncs*, NPP_ShutdownProcPtr*);
-/*
- * Mac OS X version(s) of NP_GetMIMEDescription(const char *)
- * These can be called to retreive MIME information from the plugin dynamically
- *
- * Note: For compatibility with Quicktime, BPSupportedMIMEtypes is another way
- * to get mime info from the plugin only on OSX and may not be supported
- * in furture version -- use NP_GetMIMEDescription instead
- */
-enum
-{
- kBPSupportedMIMETypesStructVers_1 = 1
-};
-typedef struct _BPSupportedMIMETypes
-{
- SInt32 structVersion; /* struct version */
- Handle typeStrings; /* STR# formated handle, allocated by plug-in */
- Handle infoStrings; /* STR# formated handle, allocated by plug-in */
-} BPSupportedMIMETypes;
-OSErr BP_GetSupportedMIMETypes(BPSupportedMIMETypes *mimeInfo, UInt32 flags);
-#define NP_GETMIMEDESCRIPTION_NAME "NP_GetMIMEDescription"
-typedef const char* (*NP_GetMIMEDescriptionProcPtr)();
-typedef OSErr (*BP_GetSupportedMIMETypesProcPtr)(BPSupportedMIMETypes*, UInt32);
-#endif
-
-#if defined(_WINDOWS)
-#define OSCALL WINAPI
-#else
-#if defined(__OS2__)
-#define OSCALL _System
-#else
-#define OSCALL
-#endif
-#endif
-
-#if defined(XP_UNIX)
-/* GCC 3.3 and later support the visibility attribute. */
-#if defined(__GNUC__) && ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
-#define NP_VISIBILITY_DEFAULT __attribute__((visibility("default")))
-#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-#define NP_VISIBILITY_DEFAULT __global
-#else
-#define NP_VISIBILITY_DEFAULT
-#endif
-#define NP_EXPORT(__type) NP_VISIBILITY_DEFAULT __type
-#endif
-
-#if defined(_WINDOWS) || defined (__OS2__)
-#ifdef __cplusplus
-extern "C" {
-#endif
-/* plugin meta member functions */
-#if defined(__OS2__)
-typedef struct _NPPluginData { /* Alternate OS2 Plugin interface */
- char *pMimeTypes;
- char *pFileExtents;
- char *pFileOpenTemplate;
- char *pProductName;
- char *pProductDescription;
- unsigned long dwProductVersionMS;
- unsigned long dwProductVersionLS;
-} NPPluginData;
-NPError OSCALL NP_GetPluginData(NPPluginData * pPluginData);
-#endif
-NPError OSCALL NP_GetEntryPoints(NPPluginFuncs* pFuncs);
-NPError OSCALL NP_Initialize(NPNetscapeFuncs* pFuncs);
-NPError OSCALL NP_Shutdown();
-char* NP_GetMIMEDescription();
-#ifdef __cplusplus
-}
-#endif
-#endif
-
-#if defined(__OS2__)
-#pragma pack()
-#endif
-
-#ifdef XP_UNIX
-#ifdef __cplusplus
-extern "C" {
-#endif
-NP_EXPORT(char*) NP_GetPluginVersion();
-NP_EXPORT(char*) NP_GetMIMEDescription();
-#ifdef XP_MACOSX
-NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs* bFuncs);
-#else
-NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs* bFuncs, NPPluginFuncs* pFuncs);
-#endif
-NP_EXPORT(NPError) NP_Shutdown();
-NP_EXPORT(NPError) NP_GetValue(void *future, NPPVariable aVariable, void *aValue);
-#ifdef __cplusplus
-}
-#endif
-#endif
-
-#endif /* npfunctions_h_ */
diff --git a/browser-plugin/npn_gate.cpp b/browser-plugin/npn_gate.cpp
deleted file mode 100644
index e3ed16b..0000000
--- a/browser-plugin/npn_gate.cpp
+++ /dev/null
@@ -1,325 +0,0 @@
-/* -*- 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
- *
- * 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/
- *
- * 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 NPL, 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.
- *
- * ***** END LICENSE BLOCK ***** */
-
-////////////////////////////////////////////////////////////
-//
-// Implementation of Netscape entry points (NPN_*)
-//
-#include <npapi.h>
-//#include "npupp.h"
-#include <npfunctions.h>
-
-#ifndef HIBYTE
-#define HIBYTE(x) ((((uint32_t)(x)) & 0xff00) >> 8)
-#endif
-
-#ifndef LOBYTE
-#define LOBYTE(W) ((W) & 0xFF)
-#endif
-
-extern NPNetscapeFuncs NPNFuncs;
-
-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);
-}
-
-NPError NPN_GetURLNotify(NPP instance, const char *url, const char *target, void *notifyData)
-{
- int navMinorVers = NPNFuncs.version & 0xFF;
- NPError rv = NPERR_NO_ERROR;
-
- if (navMinorVers >= NPVERS_HAS_NOTIFICATION)
- rv = NPNFuncs.geturlnotify(instance, url, target, notifyData);
- else
- rv = NPERR_INCOMPATIBLE_VERSION_ERROR;
- return rv;
-}
-
-NPError NPN_GetURL(NPP instance, const char *url, const char *target)
-{
- NPError rv = NPNFuncs.geturl(instance, url, target);
- return rv;
-}
-
-NPError NPN_PostURLNotify(NPP instance, const char *url, const char *window, uint32_t len,
- const char *buf, NPBool file, void *notifyData)
-{
- int navMinorVers = NPNFuncs.version & 0xFF;
- NPError rv = NPERR_NO_ERROR;
-
- if (navMinorVers >= NPVERS_HAS_NOTIFICATION)
- rv = NPNFuncs.posturlnotify(instance, url, window, len, buf, file, notifyData);
- else
- rv = NPERR_INCOMPATIBLE_VERSION_ERROR;
-
- return rv;
-}
-
-NPError NPN_PostURL(NPP instance, const char *url, const char *window, uint32_t len, const char *buf,
- NPBool file)
-{
- NPError rv = NPNFuncs.posturl(instance, url, window, len, buf, file);
- return rv;
-}
-
-NPError NPN_RequestRead(NPStream * stream, NPByteRange * rangeList)
-{
- NPError rv = NPNFuncs.requestread(stream, rangeList);
- return rv;
-}
-
-NPError NPN_NewStream(NPP instance, NPMIMEType type, const char *target, NPStream ** stream)
-{
- int navMinorVersion = NPNFuncs.version & 0xFF;
-
- NPError rv = NPERR_NO_ERROR;
-
- if (navMinorVersion >= NPVERS_HAS_STREAMOUTPUT)
- rv = NPNFuncs.newstream(instance, type, target, stream);
- else
- rv = NPERR_INCOMPATIBLE_VERSION_ERROR;
-
- return rv;
-}
-
-int32_t NPN_Write(NPP instance, NPStream * stream, int32_t len, void *buffer)
-{
- int navMinorVersion = NPNFuncs.version & 0xFF;
- int32_t rv = 0;
-
- if (navMinorVersion >= NPVERS_HAS_STREAMOUTPUT)
- rv = NPNFuncs.write(instance, stream, len, buffer);
- else
- rv = -1;
-
- return rv;
-}
-
-NPError NPN_DestroyStream(NPP instance, NPStream * stream, NPError reason)
-{
- int navMinorVersion = NPNFuncs.version & 0xFF;
- NPError rv = NPERR_NO_ERROR;
-
- if (navMinorVersion >= NPVERS_HAS_STREAMOUTPUT)
- rv = NPNFuncs.destroystream(instance, stream, reason);
- else
- rv = NPERR_INCOMPATIBLE_VERSION_ERROR;
-
- return rv;
-}
-
-void NPN_Status(NPP instance, const char *message)
-{
- NPNFuncs.status(instance, message);
-}
-
-const char *NPN_UserAgent(NPP instance)
-{
- const char *rv = NULL;
- rv = NPNFuncs.uagent(instance);
- return rv;
-}
-
-void *NPN_MemAlloc(uint32_t size)
-{
- void *rv = NULL;
- rv = NPNFuncs.memalloc(size);
- return rv;
-}
-
-void NPN_MemFree(void *ptr)
-{
- NPNFuncs.memfree(ptr);
-}
-
-uint32_t NPN_MemFlush(uint32_t size)
-{
- uint32_t rv = NPNFuncs.memflush(size);
- return rv;
-}
-
-void NPN_ReloadPlugins(NPBool reloadPages)
-{
- NPNFuncs.reloadplugins(reloadPages);
-}
-
-/*
-JRIEnv *NPN_GetJavaEnv(void)
-{
- JRIEnv *rv = NULL;
- rv = NPNFuncs.getJavaEnv();
- return rv;
-}
-
-jref NPN_GetJavaPeer(NPP instance)
-{
- jref rv;
- rv = NPNFuncs.getJavaPeer(instance);
- return rv;
-}
-*/
-
-NPError NPN_GetValue(NPP instance, NPNVariable variable, void *value)
-{
- NPError rv = NPNFuncs.getvalue(instance, variable, value);
- return rv;
-}
-
-NPError NPN_SetValue(NPP instance, NPPVariable variable, void *value)
-{
- NPError rv = NPNFuncs.setvalue(instance, variable, value);
- return rv;
-}
-
-void NPN_InvalidateRect(NPP instance, NPRect * invalidRect)
-{
- NPNFuncs.invalidaterect(instance, invalidRect);
-}
-
-void NPN_InvalidateRegion(NPP instance, NPRegion invalidRegion)
-{
- NPNFuncs.invalidateregion(instance, invalidRegion);
-}
-
-void NPN_ForceRedraw(NPP instance)
-{
- NPNFuncs.forceredraw(instance);
-}
-
-NPIdentifier NPN_GetStringIdentifier(const NPUTF8 * name)
-{
- if (!NPNFuncs.getstringidentifier)
- return 0;
-
- return NPNFuncs.getstringidentifier(name);
-}
-
-void NPN_GetStringIdentifiers(const NPUTF8 ** names, uint32_t nameCount, NPIdentifier * identifiers)
-{
- return NPNFuncs.getstringidentifiers(names, nameCount, identifiers);
-}
-
-NPIdentifier NPN_GetStringIdentifier(int32_t intid)
-{
- return NPNFuncs.getintidentifier(intid);
-}
-
-bool NPN_IdentifierIsString(NPIdentifier identifier)
-{
- return NPNFuncs.identifierisstring(identifier);
-}
-
-NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier)
-{
- return NPNFuncs.utf8fromidentifier(identifier);
-}
-
-int32_t NPN_IntFromIdentifier(NPIdentifier identifier)
-{
- return NPNFuncs.intfromidentifier(identifier);
-}
-
-NPObject *NPN_CreateObject(NPP npp, NPClass * aClass)
-{
- return NPNFuncs.createobject(npp, aClass);
-}
-
-NPObject *NPN_RetainObject(NPObject * obj)
-{
- return NPNFuncs.retainobject(obj);
-}
-
-void NPN_ReleaseObject(NPObject * 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);
-}
-
-bool NPN_InvokeDefault(NPP npp, NPObject * obj, const NPVariant * args,
- uint32_t argCount, NPVariant * 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);
-}
-
-bool NPN_GetProperty(NPP npp, NPObject * obj, NPIdentifier propertyName, NPVariant * 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);
-}
-
-bool NPN_RemoveProperty(NPP npp, NPObject * obj, NPIdentifier propertyName)
-{
- return NPNFuncs.removeproperty(npp, obj, propertyName);
-}
-
-bool NPN_HasProperty(NPP npp, NPObject * obj, NPIdentifier propertyName)
-{
- return NPNFuncs.hasproperty(npp, obj, propertyName);
-}
-
-bool NPN_HasMethod(NPP npp, NPObject * obj, NPIdentifier methodName)
-{
- return NPNFuncs.hasmethod(npp, obj, methodName);
-}
-
-void NPN_ReleaseVariantValue(NPVariant * variant)
-{
- NPNFuncs.releasevariantvalue(variant);
-}
-
-void NPN_SetException(NPObject * obj, const NPUTF8 * message)
-{
- NPNFuncs.setexception(obj, message);
-}
diff --git a/browser-plugin/npp_gate.cpp b/browser-plugin/npp_gate.cpp
deleted file mode 100644
index 90c1d00..0000000
--- a/browser-plugin/npp_gate.cpp
+++ /dev/null
@@ -1,303 +0,0 @@
-/* -*- 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
- *
- * 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/
- *
- * 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 NPL, 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.
- *
- * ***** END LICENSE BLOCK ***** */
-
-////////////////////////////////////////////////////////////
-//
-// Implementation of plugin entry points (NPP_*)
-// most are just empty stubs for this particular plugin
-//
-#include "plugin.h"
-#include "plugin_types.h"
-#include "plugin_setup.h"
-
-char *NPP_GetMIMEDescription(void)
-{
- return GetMIMEDescription();
-}
-
-
-NPError NPP_Initialize(void)
-{
- return NPERR_NO_ERROR;
-}
-
-void NPP_Shutdown(void)
-{
-}
-
-// here the plugin creates an instance of our CPlugin object which
-// will be associated with this newly created plugin instance and
-// will do all the neccessary job
-NPError NPP_New(NPMIMEType pluginType,
- NPP instance,
- uint16_t mode, int16_t argc, char *argn[], char *argv[], NPSavedData * saved)
-{
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- NPError rv = NPERR_NO_ERROR;
-
- CPlugin *pPlugin = new CPlugin(instance);
- if (pPlugin == NULL)
- return NPERR_OUT_OF_MEMORY_ERROR;
-
- instance->pdata = (void *) pPlugin;
- pPlugin->mode = mode;
- pPlugin->mimetype = g_strdup(pluginType);
- pPlugin->mInstance = instance;
- new_instance(pPlugin, argc, argn, argv);
- return rv;
-}
-
-// here is the place to clean up and destroy the CPlugin object
-NPError NPP_Destroy(NPP instance, NPSavedData ** save)
-{
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- NPError rv = NPERR_NO_ERROR;
-
- CPlugin *pPlugin = (CPlugin *) instance->pdata;
- if (pPlugin != NULL) {
- pPlugin->shut();
- delete pPlugin;
- }
- return rv;
-}
-
-// during this call we know when the plugin window is ready or
-// is about to be destroyed so we can do some gui specific
-// initialization and shutdown
-NPError NPP_SetWindow(NPP instance, NPWindow * pNPWindow)
-{
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- NPError rv = NPERR_NO_ERROR;
-
- if (pNPWindow == NULL)
- return NPERR_GENERIC_ERROR;
-
- CPlugin *pPlugin = (CPlugin *) instance->pdata;
-
- if (pPlugin == NULL)
- return NPERR_GENERIC_ERROR;
-
- // window just created
- if (!pPlugin->isInitialized() && (pNPWindow->window != NULL)) {
- if (!pPlugin->init(pNPWindow)) {
- delete pPlugin;
- pPlugin = NULL;
- return NPERR_MODULE_LOAD_FAILED_ERROR;
- }
- }
- // window goes away
- if ((pNPWindow->window == NULL) && pPlugin->isInitialized())
- return NPERR_NO_ERROR;
-
- // window resized
- if (pPlugin->isInitialized() && (pNPWindow->window != NULL)) {
- pPlugin->SetWindow(pNPWindow);
- return NPERR_NO_ERROR;
- }
- // this should not happen, nothing to do
- if ((pNPWindow->window == NULL) && !pPlugin->isInitialized())
- return NPERR_NO_ERROR;
-
- return rv;
-}
-
-// ==============================
-// ! Scriptability related code !
-// ==============================
-//
-// here the plugin is asked by Mozilla to tell if it is scriptable
-// we should return a valid interface id and a pointer to
-// nsScriptablePeer interface which we should have implemented
-// and which should be defined in the corressponding *.xpt file
-// in the bin/components folder
-NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value)
-{
- NPError rv = NPERR_NO_ERROR;
-
- if (variable == NPPVpluginScriptableNPObject) {
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
- CPlugin *plugin = (CPlugin *) instance->pdata;
- if (plugin == NULL)
- return NPERR_GENERIC_ERROR;
- //*(NPObject **) value = plugin->GetScriptableObject();
- } else {
- rv = PluginGetValue(variable, value);
- }
-
- return rv;
-}
-
-NPError NPP_NewStream(NPP instance,
- NPMIMEType type, NPStream * stream, NPBool seekable, uint16_t * stype)
-{
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- NPError rv = NPERR_NO_ERROR;
-
- CPlugin *pPlugin = (CPlugin *) instance->pdata;
-
- if (pPlugin == NULL)
- return NPERR_GENERIC_ERROR;
-
- pPlugin->NewStream(type, stream, seekable, stype);
-
- return rv;
-}
-
-int32_t NPP_WriteReady(NPP instance, NPStream * stream)
-{
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- int32_t rv = 0x0fffffff;
- CPlugin *pPlugin = (CPlugin *) instance->pdata;
-
- if (pPlugin == NULL)
- return NPERR_GENERIC_ERROR;
-
- rv = pPlugin->WriteReady(stream);
- // printf("rv = %i\n",rv);
-
- return rv;
-}
-
-int32_t NPP_Write(NPP instance, NPStream * stream, int32_t offset, int32_t len, void *buffer)
-{
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- int32_t rv = len;
- CPlugin *pPlugin = (CPlugin *) instance->pdata;
-
- if (pPlugin == NULL)
- return NPERR_GENERIC_ERROR;
-
- rv = pPlugin->Write(stream, offset, len, buffer);
- // printf("rv = %i\n", rv);
- return rv;
-}
-
-NPError NPP_DestroyStream(NPP instance, NPStream * stream, NPError reason)
-{
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- NPError rv = NPERR_NO_ERROR;
- CPlugin *pPlugin = (CPlugin *) instance->pdata;
-
- if (pPlugin == NULL)
- return NPERR_GENERIC_ERROR;
-
- pPlugin->DestroyStream(stream, reason);
- return rv;
-}
-
-void NPP_StreamAsFile(NPP instance, NPStream * stream, const char *fname)
-{
- if (instance == NULL)
- return;
-}
-
-void NPP_Print(NPP instance, NPPrint * printInfo)
-{
- if (instance == NULL)
- return;
-}
-
-void NPP_URLNotify(NPP instance, const char *url, NPReason reason, void *notifyData)
-{
- if (instance == NULL)
- return;
-
- CPlugin *pPlugin = (CPlugin *) instance->pdata;
-
- if (pPlugin == NULL)
- return;
-
- pPlugin->URLNotify(url, reason, notifyData);
-
-}
-
-NPError NPP_SetValue(NPP instance, NPNVariable variable, void *value)
-{
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- NPError rv = NPERR_NO_ERROR;
- return rv;
-}
-
-int16_t NPP_HandleEvent(NPP instance, void *event)
-{
- if (instance == NULL)
- return 0;
-/*
- int16_t rv = 0;
- CPlugin *pPlugin = (CPlugin *) instance->pdata;
- if (pPlugin)
- rv = pPlugin->handleEvent(event);
-*/
- return 0;
-}
-
-/*
-jref NPP_GetJavaClass (void)
-{
- return NULL;
-}
-*/
-
-NPObject *NPP_GetScriptableInstance(NPP instance)
-{
- if (!instance)
- return 0;
-/*
- NPObject *npobj = 0;
- CPlugin *pPlugin = (CPlugin *) instance->pdata;
- if (!pPlugin)
- npobj = pPlugin->GetScriptableObject();
-*/
- return 0;
-}
diff --git a/browser-plugin/npruntime.h b/browser-plugin/npruntime.h
deleted file mode 100644
index 5a2dc75..0000000
--- a/browser-plugin/npruntime.h
+++ /dev/null
@@ -1,423 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * Copyright © 2004, Apple Computer, Inc. and The Mozilla Foundation.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the names of Apple Computer, Inc. ("Apple") or The Mozilla
- * Foundation ("Mozilla") nor the names of their contributors may be used
- * to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE, MOZILLA AND THEIR CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE, MOZILLA OR
- * THEIR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Revision 1 (March 4, 2004):
- * Initial proposal.
- *
- * Revision 2 (March 10, 2004):
- * All calls into script were made asynchronous. Results are
- * provided via the NPScriptResultFunctionPtr callback.
- *
- * Revision 3 (March 10, 2004):
- * Corrected comments to not refer to class retain/release FunctionPtrs.
- *
- * Revision 4 (March 11, 2004):
- * Added additional convenience NPN_SetExceptionWithUTF8().
- * Changed NPHasPropertyFunctionPtr and NPHasMethodFunctionPtr to take NPClass
- * pointers instead of NPObject pointers.
- * Added NPIsValidIdentifier().
- *
- * Revision 5 (March 17, 2004):
- * Added context parameter to result callbacks from ScriptObject functions.
- *
- * Revision 6 (March 29, 2004):
- * Renamed functions implemented by user agent to NPN_*. Removed _ from
- * type names.
- * Renamed "JavaScript" types to "Script".
- *
- * Revision 7 (April 21, 2004):
- * NPIdentifier becomes a void*, was int32_t
- * Remove NP_IsValidIdentifier, renamed NP_IdentifierFromUTF8 to NP_GetIdentifier
- * Added NPVariant and modified functions to use this new type.
- *
- * Revision 8 (July 9, 2004):
- * Updated to joint Apple-Mozilla license.
- *
- */
-#ifndef _NP_RUNTIME_H_
-#define _NP_RUNTIME_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "nptypes.h"
-
-/*
- This API is used to facilitate binding code written in C to script
- objects. The API in this header does not assume the presence of a
- user agent. That is, it can be used to bind C code to scripting
- environments outside of the context of a user agent.
-
- However, the normal use of the this API is in the context of a
- scripting environment running in a browser or other user agent.
- In particular it is used to support the extended Netscape
- script-ability API for plugins (NP-SAP). NP-SAP is an extension
- of the Netscape plugin API. As such we have adopted the use of
- the "NP" prefix for this API.
-
- The following NP{N|P}Variables were added to the Netscape plugin
- API (in npapi.h):
-
- NPNVWindowNPObject
- NPNVPluginElementNPObject
- NPPVpluginScriptableNPObject
-
- These variables are exposed through NPN_GetValue() and
- NPP_GetValue() (respectively) and are used to establish the
- initial binding between the user agent and native code. The DOM
- objects in the user agent can be examined and manipulated using
- the NPN_ functions that operate on NPObjects described in this
- header.
-
- To the extent possible the assumptions about the scripting
- language used by the scripting environment have been minimized.
-*/
-
-#define NP_BEGIN_MACRO do {
-#define NP_END_MACRO } while (0)
-
-/*
- Objects (non-primitive data) passed between 'C' and script is
- always wrapped in an NPObject. The 'interface' of an NPObject is
- described by an NPClass.
-*/
-typedef struct NPObject NPObject;
-typedef struct NPClass NPClass;
-
-typedef char NPUTF8;
-typedef struct _NPString {
- const NPUTF8 *utf8characters;
- uint32_t utf8length;
-} NPString;
-
-typedef enum {
- NPVariantType_Void,
- NPVariantType_Null,
- NPVariantType_Bool,
- NPVariantType_Int32,
- NPVariantType_Double,
- NPVariantType_String,
- NPVariantType_Object
-} NPVariantType;
-
-typedef struct _NPVariant {
- NPVariantType type;
- union {
- bool boolValue;
- int32_t intValue;
- double doubleValue;
- NPString stringValue;
- NPObject *objectValue;
- } value;
-} NPVariant;
-
-/*
- NPN_ReleaseVariantValue is called on all 'out' parameters
- references. Specifically it is to be called on variants that own
- their value, as is the case with all non-const NPVariant*
- arguments after a successful call to any methods (except this one)
- in this API.
-
- After calling NPN_ReleaseVariantValue, the type of the variant
- will be NPVariantType_Void.
-*/
-void NPN_ReleaseVariantValue(NPVariant *variant);
-
-#define NPVARIANT_IS_VOID(_v) ((_v).type == NPVariantType_Void)
-#define NPVARIANT_IS_NULL(_v) ((_v).type == NPVariantType_Null)
-#define NPVARIANT_IS_BOOLEAN(_v) ((_v).type == NPVariantType_Bool)
-#define NPVARIANT_IS_INT32(_v) ((_v).type == NPVariantType_Int32)
-#define NPVARIANT_IS_DOUBLE(_v) ((_v).type == NPVariantType_Double)
-#define NPVARIANT_IS_STRING(_v) ((_v).type == NPVariantType_String)
-#define NPVARIANT_IS_OBJECT(_v) ((_v).type == NPVariantType_Object)
-
-#define NPVARIANT_TO_BOOLEAN(_v) ((_v).value.boolValue)
-#define NPVARIANT_TO_INT32(_v) ((_v).value.intValue)
-#define NPVARIANT_TO_DOUBLE(_v) ((_v).value.doubleValue)
-#define NPVARIANT_TO_STRING(_v) ((_v).value.stringValue)
-#define NPVARIANT_TO_OBJECT(_v) ((_v).value.objectValue)
-
-#define VOID_TO_NPVARIANT(_v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_Void; \
- (_v).value.objectValue = NULL; \
-NP_END_MACRO
-
-#define NULL_TO_NPVARIANT(_v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_Null; \
- (_v).value.objectValue = NULL; \
-NP_END_MACRO
-
-#define BOOLEAN_TO_NPVARIANT(_val, _v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_Bool; \
- (_v).value.boolValue = !!(_val); \
-NP_END_MACRO
-
-#define INT32_TO_NPVARIANT(_val, _v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_Int32; \
- (_v).value.intValue = _val; \
-NP_END_MACRO
-
-#define DOUBLE_TO_NPVARIANT(_val, _v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_Double; \
- (_v).value.doubleValue = _val; \
-NP_END_MACRO
-
-#define STRINGZ_TO_NPVARIANT(_val, _v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_String; \
- NPString str = { _val, strlen(_val) }; \
- (_v).value.stringValue = str; \
-NP_END_MACRO
-
-#define STRINGN_TO_NPVARIANT(_val, _len, _v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_String; \
- NPString str = { _val, _len }; \
- (_v).value.stringValue = str; \
-NP_END_MACRO
-
-#define OBJECT_TO_NPVARIANT(_val, _v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_Object; \
- (_v).value.objectValue = _val; \
-NP_END_MACRO
-
-
-/*
- Type mappings (JavaScript types have been used for illustration
- purposes):
-
- JavaScript to C (NPVariant with type:)
- undefined NPVariantType_Void
- null NPVariantType_Null
- Boolean NPVariantType_Bool
- Number NPVariantType_Double or NPVariantType_Int32
- String NPVariantType_String
- Object NPVariantType_Object
-
- C (NPVariant with type:) to JavaScript
- NPVariantType_Void undefined
- NPVariantType_Null null
- NPVariantType_Bool Boolean
- NPVariantType_Int32 Number
- NPVariantType_Double Number
- NPVariantType_String String
- NPVariantType_Object Object
-*/
-
-typedef void *NPIdentifier;
-
-/*
- NPObjects have methods and properties. Methods and properties are
- identified with NPIdentifiers. These identifiers may be reflected
- in script. NPIdentifiers can be either strings or integers, IOW,
- methods and properties can be identified by either strings or
- integers (i.e. foo["bar"] vs foo[1]). NPIdentifiers can be
- compared using ==. In case of any errors, the requested
- NPIdentifier(s) will be NULL.
-*/
-NPIdentifier NPN_GetStringIdentifier(const NPUTF8 *name);
-void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t nameCount,
- NPIdentifier *identifiers);
-NPIdentifier NPN_GetIntIdentifier(int32_t intid);
-bool NPN_IdentifierIsString(NPIdentifier identifier);
-
-/*
- The NPUTF8 returned from NPN_UTF8FromIdentifier SHOULD be freed.
-*/
-NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier);
-
-/*
- Get the integer represented by identifier. If identifier is not an
- integer identifier, the behaviour is undefined.
-*/
-int32_t NPN_IntFromIdentifier(NPIdentifier identifier);
-
-/*
- NPObject behavior is implemented using the following set of
- callback functions.
-
- The NPVariant *result argument of these functions (where
- applicable) should be released using NPN_ReleaseVariantValue().
-*/
-typedef NPObject *(*NPAllocateFunctionPtr)(NPP npp, NPClass *aClass);
-typedef void (*NPDeallocateFunctionPtr)(NPObject *npobj);
-typedef void (*NPInvalidateFunctionPtr)(NPObject *npobj);
-typedef bool (*NPHasMethodFunctionPtr)(NPObject *npobj, NPIdentifier name);
-typedef bool (*NPInvokeFunctionPtr)(NPObject *npobj, NPIdentifier name,
- const NPVariant *args, uint32_t argCount,
- NPVariant *result);
-typedef bool (*NPInvokeDefaultFunctionPtr)(NPObject *npobj,
- const NPVariant *args,
- uint32_t argCount,
- NPVariant *result);
-typedef bool (*NPHasPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name);
-typedef bool (*NPGetPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name,
- NPVariant *result);
-typedef bool (*NPSetPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name,
- const NPVariant *value);
-typedef bool (*NPRemovePropertyFunctionPtr)(NPObject *npobj,
- NPIdentifier name);
-typedef bool (*NPEnumerationFunctionPtr)(NPObject *npobj, NPIdentifier **value,
- uint32_t *count);
-typedef bool (*NPConstructFunctionPtr)(NPObject *npobj,
- const NPVariant *args,
- uint32_t argCount,
- NPVariant *result);
-
-/*
- NPObjects returned by create, retain, invoke, and getProperty pass
- a reference count to the caller. That is, the callee adds a
- reference count which passes to the caller. It is the caller's
- responsibility to release the returned object.
-
- NPInvokeFunctionPtr function may return 0 to indicate a void
- result.
-
- NPInvalidateFunctionPtr is called by the scripting environment
- when the native code is shutdown. Any attempt to message a
- NPObject instance after the invalidate callback has been
- called will result in undefined behavior, even if the native code
- is still retaining those NPObject instances. (The runtime
- will typically return immediately, with 0 or NULL, from an attempt
- to dispatch to a NPObject, but this behavior should not be
- depended upon.)
-
- The NPEnumerationFunctionPtr function may pass an array of
- NPIdentifiers back to the caller. The callee allocs the memory of
- the array using NPN_MemAlloc(), and it's the caller's responsibility
- to release it using NPN_MemFree().
-*/
-struct NPClass
-{
- uint32_t structVersion;
- NPAllocateFunctionPtr allocate;
- NPDeallocateFunctionPtr deallocate;
- NPInvalidateFunctionPtr invalidate;
- NPHasMethodFunctionPtr hasMethod;
- NPInvokeFunctionPtr invoke;
- NPInvokeDefaultFunctionPtr invokeDefault;
- NPHasPropertyFunctionPtr hasProperty;
- NPGetPropertyFunctionPtr getProperty;
- NPSetPropertyFunctionPtr setProperty;
- NPRemovePropertyFunctionPtr removeProperty;
- NPEnumerationFunctionPtr enumerate;
- NPConstructFunctionPtr construct;
-};
-
-#define NP_CLASS_STRUCT_VERSION 3
-
-#define NP_CLASS_STRUCT_VERSION_ENUM 2
-#define NP_CLASS_STRUCT_VERSION_CTOR 3
-
-#define NP_CLASS_STRUCT_VERSION_HAS_ENUM(npclass) \
- ((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_ENUM)
-
-#define NP_CLASS_STRUCT_VERSION_HAS_CTOR(npclass) \
- ((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_CTOR)
-
-struct NPObject {
- NPClass *_class;
- uint32_t referenceCount;
- /*
- * Additional space may be allocated here by types of NPObjects
- */
-};
-
-/*
- If the class has an allocate function, NPN_CreateObject invokes
- that function, otherwise a NPObject is allocated and
- returned. This method will initialize the referenceCount member of
- the NPObject to 1.
-*/
-NPObject *NPN_CreateObject(NPP npp, NPClass *aClass);
-
-/*
- Increment the NPObject's reference count.
-*/
-NPObject *NPN_RetainObject(NPObject *npobj);
-
-/*
- Decremented the NPObject's reference count. If the reference
- count goes to zero, the class's destroy function is invoke if
- specified, otherwise the object is freed directly.
-*/
-void NPN_ReleaseObject(NPObject *npobj);
-
-/*
- Functions to access script objects represented by NPObject.
-
- Calls to script objects are synchronous. If a function returns a
- value, it will be supplied via the result NPVariant
- argument. Successful calls will return true, false will be
- returned in case of an error.
-
- Calls made from plugin code to script must be made from the thread
- on which the plugin was initialized.
-*/
-
-bool NPN_Invoke(NPP npp, NPObject *npobj, NPIdentifier methodName,
- const NPVariant *args, uint32_t argCount, NPVariant *result);
-bool NPN_InvokeDefault(NPP npp, NPObject *npobj, const NPVariant *args,
- uint32_t argCount, NPVariant *result);
-bool NPN_Evaluate(NPP npp, NPObject *npobj, NPString *script,
- NPVariant *result);
-bool NPN_GetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName,
- NPVariant *result);
-bool NPN_SetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName,
- const NPVariant *value);
-bool NPN_RemoveProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName);
-bool NPN_HasProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName);
-bool NPN_HasMethod(NPP npp, NPObject *npobj, NPIdentifier methodName);
-bool NPN_Enumerate(NPP npp, NPObject *npobj, NPIdentifier **identifier,
- uint32_t *count);
-bool NPN_Construct(NPP npp, NPObject *npobj, const NPVariant *args,
- uint32_t argCount, NPVariant *result);
-
-/*
- NPN_SetException may be called to trigger a script exception upon
- return from entry points into NPObjects. Typical usage:
-
- NPN_SetException (npobj, message);
-*/
-void NPN_SetException(NPObject *npobj, const NPUTF8 *message);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/browser-plugin/nptypes.h b/browser-plugin/nptypes.h
deleted file mode 100644
index f07fa97..0000000
--- a/browser-plugin/nptypes.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** 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
- * mozilla.org.
- * Portions created by the Initial Developer are Copyright (C) 2004
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Johnny Stenback <jst at mozilla.org> (Original author)
- *
- * 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 ***** */
-
-/*
- * Header file for ensuring that C99 types ([u]int32_t and bool) and
- * true/false macros are available.
- */
-
-#if defined(WIN32) || defined(OS2)
- /*
- * Win32 and OS/2 don't know C99, so define [u]int_16/32 here. The bool
- * is predefined tho, both in C and C++.
- */
- typedef short int16_t;
- typedef unsigned short uint16_t;
- typedef int int32_t;
- typedef unsigned int uint32_t;
-#elif defined(_AIX) || defined(__sun) || defined(__osf__) || defined(IRIX) || defined(HPUX)
- /*
- * AIX and SunOS ship a inttypes.h header that defines [u]int32_t,
- * but not bool for C.
- */
- #include <inttypes.h>
-
- #ifndef __cplusplus
- typedef int bool;
- #define true 1
- #define false 0
- #endif
-#elif defined(bsdi) || defined(FREEBSD) || defined(OPENBSD)
- /*
- * BSD/OS, FreeBSD, and OpenBSD ship sys/types.h that define int32_t and
- * u_int32_t.
- */
- #include <sys/types.h>
-
- /*
- * BSD/OS ships no header that defines uint32_t, nor bool (for C)
- */
- #if defined(bsdi)
- typedef u_int32_t uint32_t;
-
- #if !defined(__cplusplus)
- typedef int bool;
- #define true 1
- #define false 0
- #endif
- #else
- /*
- * FreeBSD and OpenBSD define uint32_t and bool.
- */
- #include <inttypes.h>
- #include <stdbool.h>
- #endif
-#elif defined(BEOS)
- #include <inttypes.h>
-#else
- /*
- * For those that ship a standard C99 stdint.h header file, include
- * it. Can't do the same for stdbool.h tho, since some systems ship
- * with a stdbool.h file that doesn't compile!
- */
- #include <stdint.h>
-
- #ifndef __cplusplus
- #if !defined(__GNUC__) || (__GNUC__ > 2 || __GNUC_MINOR__ > 95)
- #include <stdbool.h>
- #else
- /*
- * GCC 2.91 can't deal with a typedef for bool, but a #define
- * works.
- */
- #define bool int
- #define true 1
- #define false 0
- #endif
- #endif
-#endif
diff --git a/browser-plugin/npupp.h b/browser-plugin/npupp.h
deleted file mode 100644
index 9d1f25b..0000000
--- a/browser-plugin/npupp.h
+++ /dev/null
@@ -1,711 +0,0 @@
-/* -*- 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 ***** */
-
-
-/*
- * npupp.h $Revision: 3.26 $
- * function call mecahnics needed by platform specific glue code.
- */
-
-
-#ifndef _NPUPP_H_
-#define _NPUPP_H_
-
-#if defined(__OS2__)
-#pragma pack(1)
-#endif
-
-#ifndef GENERATINGCFM
-#define GENERATINGCFM 0
-#endif
-
-#ifndef _NPAPI_H_
-#include "npapi.h"
-#endif
-
-#include "npruntime.h"
-
-
-/******************************************************************************************
- plug-in function table macros
- for each function in and out of the plugin API we define
- typedef NPP_FooUPP
- #define NewNPP_FooProc
- #define CallNPP_FooProc
- *******************************************************************************************/
-
-
-/* NPP_Initialize */
-typedef void (*NP_LOADDS NPP_InitializeUPP) (void);
-#define NewNPP_InitializeProc(FUNC) \
- ((NPP_InitializeUPP) (FUNC))
-#define CallNPP_InitializeProc(FUNC) \
- (*(FUNC))()
-
-/* NPP_Shutdown */
-typedef void (*NP_LOADDS NPP_ShutdownUPP) (void);
-#define NewNPP_ShutdownProc(FUNC) \
- ((NPP_ShutdownUPP) (FUNC))
-#define CallNPP_ShutdownProc(FUNC) \
- (*(FUNC))()
-
-/* NPP_New */
-typedef NPError(*NP_LOADDS NPP_NewUPP) (NPMIMEType pluginType, NPP instance, uint16_t mode,
- int16_t argc, char *argn[], char *argv[],
- NPSavedData * saved);
-#define NewNPP_NewProc(FUNC) \
- ((NPP_NewUPP) (FUNC))
-#define CallNPP_NewProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
- (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
-
-/* NPP_Destroy */
-typedef NPError(*NP_LOADDS NPP_DestroyUPP) (NPP instance, NPSavedData ** save);
-#define NewNPP_DestroyProc(FUNC) \
- ((NPP_DestroyUPP) (FUNC))
-#define CallNPP_DestroyProc(FUNC, ARG1, ARG2) \
- (*(FUNC))((ARG1), (ARG2))
-
-/* NPP_SetWindow */
-typedef NPError(*NP_LOADDS NPP_SetWindowUPP) (NPP instance, NPWindow * window);
-#define NewNPP_SetWindowProc(FUNC) \
- ((NPP_SetWindowUPP) (FUNC))
-#define CallNPP_SetWindowProc(FUNC, ARG1, ARG2) \
- (*(FUNC))((ARG1), (ARG2))
-
-/* NPP_NewStream */
-typedef NPError(*NP_LOADDS NPP_NewStreamUPP) (NPP instance, NPMIMEType type, NPStream * stream,
- NPBool seekable, uint16_t * stype);
-#define NewNPP_NewStreamProc(FUNC) \
- ((NPP_NewStreamUPP) (FUNC))
-#define CallNPP_NewStreamProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
- (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
-
-/* NPP_DestroyStream */
-typedef NPError(*NP_LOADDS NPP_DestroyStreamUPP) (NPP instance, NPStream * stream, NPReason reason);
-#define NewNPP_DestroyStreamProc(FUNC) \
- ((NPP_DestroyStreamUPP) (FUNC))
-#define CallNPP_DestroyStreamProc(FUNC, NPParg, NPStreamPtr, NPReasonArg) \
- (*(FUNC))((NPParg), (NPStreamPtr), (NPReasonArg))
-
-/* NPP_WriteReady */
-typedef int32_t(*NP_LOADDS NPP_WriteReadyUPP) (NPP instance, NPStream * stream);
-#define NewNPP_WriteReadyProc(FUNC) \
- ((NPP_WriteReadyUPP) (FUNC))
-#define CallNPP_WriteReadyProc(FUNC, NPParg, NPStreamPtr) \
- (*(FUNC))((NPParg), (NPStreamPtr))
-
-/* NPP_Write */
-typedef int32_t(*NP_LOADDS NPP_WriteUPP) (NPP instance, NPStream * stream, int32_t offset, int32_t len,
- void *buffer);
-#define NewNPP_WriteProc(FUNC) \
- ((NPP_WriteUPP) (FUNC))
-#define CallNPP_WriteProc(FUNC, NPParg, NPStreamPtr, offsetArg, lenArg, bufferPtr) \
- (*(FUNC))((NPParg), (NPStreamPtr), (offsetArg), (lenArg), (bufferPtr))
-
-/* NPP_StreamAsFile */
-typedef void (*NP_LOADDS NPP_StreamAsFileUPP) (NPP instance, NPStream * stream, const char *fname);
-#define NewNPP_StreamAsFileProc(FUNC) \
- ((NPP_StreamAsFileUPP) (FUNC))
-#define CallNPP_StreamAsFileProc(FUNC, ARG1, ARG2, ARG3) \
- (*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPP_Print */
-typedef void (*NP_LOADDS NPP_PrintUPP) (NPP instance, NPPrint * platformPrint);
-#define NewNPP_PrintProc(FUNC) \
- ((NPP_PrintUPP) (FUNC))
-#define CallNPP_PrintProc(FUNC, NPParg, NPPrintArg) \
- (*(FUNC))((NPParg), (NPPrintArg))
-
-/* NPP_HandleEvent */
-typedef int16_t(*NP_LOADDS NPP_HandleEventUPP) (NPP instance, void *event);
-#define NewNPP_HandleEventProc(FUNC) \
- ((NPP_HandleEventUPP) (FUNC))
-#define CallNPP_HandleEventProc(FUNC, NPParg, voidPtr) \
- (*(FUNC))((NPParg), (voidPtr))
-
-/* NPP_URLNotify */
-typedef void (*NP_LOADDS NPP_URLNotifyUPP) (NPP instance, const char *url, NPReason reason,
- void *notifyData);
-#define NewNPP_URLNotifyProc(FUNC) \
- ((NPP_URLNotifyUPP) (FUNC))
-#define CallNPP_URLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
- (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
-
-/* NPP_GetValue */
-typedef NPError(*NP_LOADDS NPP_GetValueUPP) (NPP instance, NPPVariable variable, void *ret_alue);
-#define NewNPP_GetValueProc(FUNC) \
- ((NPP_GetValueUPP) (FUNC))
-#define CallNPP_GetValueProc(FUNC, ARG1, ARG2, ARG3) \
- (*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPP_SetValue */
-typedef NPError(*NP_LOADDS NPP_SetValueUPP) (NPP instance, NPNVariable variable, void *ret_alue);
-#define NewNPP_SetValueProc(FUNC) \
- ((NPP_SetValueUPP) (FUNC))
-#define CallNPP_SetValueProc(FUNC, ARG1, ARG2, ARG3) \
- (*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/*
- * Netscape entry points
- */
-
-
-/* NPN_GetValue */
-typedef NPError(*NP_LOADDS NPN_GetValueUPP) (NPP instance, NPNVariable variable, void *ret_alue);
-#define NewNPN_GetValueProc(FUNC) \
- ((NPN_GetValueUPP) (FUNC))
-#define CallNPN_GetValueProc(FUNC, ARG1, ARG2, ARG3) \
- (*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_SetValue */
-typedef NPError(*NP_LOADDS NPN_SetValueUPP) (NPP instance, NPPVariable variable, void *ret_alue);
-#define NewNPN_SetValueProc(FUNC) \
- ((NPN_SetValueUPP) (FUNC))
-#define CallNPN_SetValueProc(FUNC, ARG1, ARG2, ARG3) \
- (*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_GetUrlNotify */
-typedef NPError(*NP_LOADDS NPN_GetURLNotifyUPP) (NPP instance, const char *url, const char *window,
- void *notifyData);
-#define NewNPN_GetURLNotifyProc(FUNC) \
- ((NPN_GetURLNotifyUPP) (FUNC))
-#define CallNPN_GetURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
- (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
-
-/* NPN_PostUrlNotify */
-typedef NPError(*NP_LOADDS NPN_PostURLNotifyUPP) (NPP instance, const char *url, const char *window,
- uint32_t len, const char *buf, NPBool file,
- void *notifyData);
-#define NewNPN_PostURLNotifyProc(FUNC) \
- ((NPN_PostURLNotifyUPP) (FUNC))
-#define CallNPN_PostURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
- (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
-
-/* NPN_GetUrl */
-typedef NPError(*NP_LOADDS NPN_GetURLUPP) (NPP instance, const char *url, const char *window);
-#define NewNPN_GetURLProc(FUNC) \
- ((NPN_GetURLUPP) (FUNC))
-#define CallNPN_GetURLProc(FUNC, ARG1, ARG2, ARG3) \
- (*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_PostUrl */
-typedef NPError(*NP_LOADDS NPN_PostURLUPP) (NPP instance, const char *url, const char *window,
- uint32_t len, const char *buf, NPBool file);
-#define NewNPN_PostURLProc(FUNC) \
- ((NPN_PostURLUPP) (FUNC))
-#define CallNPN_PostURLProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
- (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
-
-/* NPN_RequestRead */
-typedef NPError(*NP_LOADDS NPN_RequestReadUPP) (NPStream * stream, NPByteRange * rangeList);
-#define NewNPN_RequestReadProc(FUNC) \
- ((NPN_RequestReadUPP) (FUNC))
-#define CallNPN_RequestReadProc(FUNC, stream, range) \
- (*(FUNC))((stream), (range))
-
-/* NPN_NewStream */
-typedef NPError(*NP_LOADDS NPN_NewStreamUPP) (NPP instance, NPMIMEType type, const char *window,
- NPStream ** stream);
-#define NewNPN_NewStreamProc(FUNC) \
- ((NPN_NewStreamUPP) (FUNC))
-#define CallNPN_NewStreamProc(FUNC, npp, type, window, stream) \
- (*(FUNC))((npp), (type), (window), (stream))
-
-/* NPN_Write */
-typedef int32_t(*NP_LOADDS NPN_WriteUPP) (NPP instance, NPStream * stream, int32_t len, void *buffer);
-#define NewNPN_WriteProc(FUNC) \
- ((NPN_WriteUPP) (FUNC))
-#define CallNPN_WriteProc(FUNC, npp, stream, len, buffer) \
- (*(FUNC))((npp), (stream), (len), (buffer))
-
-/* NPN_DestroyStream */
-typedef NPError(*NP_LOADDS NPN_DestroyStreamUPP) (NPP instance, NPStream * stream, NPReason reason);
-#define NewNPN_DestroyStreamProc(FUNC) \
- ((NPN_DestroyStreamUPP) (FUNC))
-#define CallNPN_DestroyStreamProc(FUNC, npp, stream, reason) \
- (*(FUNC))((npp), (stream), (reason))
-
-/* NPN_Status */
-typedef void (*NP_LOADDS NPN_StatusUPP) (NPP instance, const char *message);
-#define NewNPN_StatusProc(FUNC) \
- ((NPN_StatusUPP) (FUNC))
-#define CallNPN_StatusProc(FUNC, npp, msg) \
- (*(FUNC))((npp), (msg))
-
-/* NPN_UserAgent */
-typedef const char *(*NP_LOADDS NPN_UserAgentUPP) (NPP instance);
-#define NewNPN_UserAgentProc(FUNC) \
- ((NPN_UserAgentUPP) (FUNC))
-#define CallNPN_UserAgentProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN_MemAlloc */
-typedef void *(*NP_LOADDS NPN_MemAllocUPP) (uint32_t size);
-#define NewNPN_MemAllocProc(FUNC) \
- ((NPN_MemAllocUPP) (FUNC))
-#define CallNPN_MemAllocProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN__MemFree */
-typedef void (*NP_LOADDS NPN_MemFreeUPP) (void *ptr);
-#define NewNPN_MemFreeProc(FUNC) \
- ((NPN_MemFreeUPP) (FUNC))
-#define CallNPN_MemFreeProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN_MemFlush */
-typedef uint32_t(*NP_LOADDS NPN_MemFlushUPP) (uint32_t size);
-#define NewNPN_MemFlushProc(FUNC) \
- ((NPN_MemFlushUPP) (FUNC))
-#define CallNPN_MemFlushProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN_ReloadPlugins */
-typedef void (*NP_LOADDS NPN_ReloadPluginsUPP) (NPBool reloadPages);
-#define NewNPN_ReloadPluginsProc(FUNC) \
- ((NPN_ReloadPluginsUPP) (FUNC))
-#define CallNPN_ReloadPluginsProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN_InvalidateRect */
-typedef void (*NP_LOADDS NPN_InvalidateRectUPP) (NPP instance, NPRect * rect);
-#define NewNPN_InvalidateRectProc(FUNC) \
- ((NPN_InvalidateRectUPP) (FUNC))
-#define CallNPN_InvalidateRectProc(FUNC, ARG1, ARG2) \
- (*(FUNC))((ARG1), (ARG2))
-
-/* NPN_InvalidateRegion */
-typedef void (*NP_LOADDS NPN_InvalidateRegionUPP) (NPP instance, NPRegion region);
-#define NewNPN_InvalidateRegionProc(FUNC) \
- ((NPN_InvalidateRegionUPP) (FUNC))
-#define CallNPN_InvalidateRegionProc(FUNC, ARG1, ARG2) \
- (*(FUNC))((ARG1), (ARG2))
-
-/* NPN_ForceRedraw */
-typedef void (*NP_LOADDS NPN_ForceRedrawUPP) (NPP instance);
-#define NewNPN_ForceRedrawProc(FUNC) \
- ((NPN_ForceRedrawUPP) (FUNC))
-#define CallNPN_ForceRedrawProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN_GetStringIdentifier */
-typedef NPIdentifier(*NP_LOADDS NPN_GetStringIdentifierUPP) (const NPUTF8 * name);
-#define NewNPN_GetStringIdentifierProc(FUNC) \
- ((NPN_GetStringIdentifierUPP) (FUNC))
-#define CallNPN_GetStringIdentifierProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN_GetStringIdentifiers */
-typedef void (*NP_LOADDS NPN_GetStringIdentifiersUPP) (const NPUTF8 ** names,
- int32_t nameCount,
- NPIdentifier * identifiers);
-#define NewNPN_GetStringIdentifiersProc(FUNC) \
- ((NPN_GetStringIdentifiersUPP) (FUNC))
-#define CallNPN_GetStringIdentifiersProc(FUNC, ARG1, ARG2, ARG3) \
- (*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_GetIntIdentifier */
-typedef NPIdentifier(*NP_LOADDS NPN_GetIntIdentifierUPP) (int32_t intid);
-#define NewNPN_GetIntIdentifierProc(FUNC) \
- ((NPN_GetIntIdentifierUPP) (FUNC))
-#define CallNPN_GetIntIdentifierProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN_IdentifierIsString */
-typedef bool(*NP_LOADDS NPN_IdentifierIsStringUPP) (NPIdentifier identifier);
-#define NewNPN_IdentifierIsStringProc(FUNC) \
- ((NPN_IdentifierIsStringUPP) (FUNC))
-#define CallNPN_IdentifierIsStringProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN_UTF8FromIdentifier */
-typedef NPUTF8 *(*NP_LOADDS NPN_UTF8FromIdentifierUPP) (NPIdentifier identifier);
-#define NewNPN_UTF8FromIdentifierProc(FUNC) \
- ((NPN_UTF8FromIdentifierUPP) (FUNC))
-#define CallNPN_UTF8FromIdentifierProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN_IntFromIdentifier */
-typedef int32_t (*NP_LOADDS NPN_IntFromIdentifierUPP) (NPIdentifier identifier);
-#define NewNPN_IntFromIdentifierProc(FUNC) \
- ((NPN_IntFromIdentifierUPP) (FUNC))
-#define CallNPN_IntFromIdentifierProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN_CreateObject */
-typedef NPObject *(*NP_LOADDS NPN_CreateObjectUPP) (NPP npp, NPClass * aClass);
-#define NewNPN_CreateObjectProc(FUNC) \
- ((NPN_CreateObjectUPP) (FUNC))
-#define CallNPN_CreateObjectProc(FUNC, ARG1, ARG2) \
- (*(FUNC))((ARG1), (ARG2))
-
-/* NPN_RetainObject */
-typedef NPObject *(*NP_LOADDS NPN_RetainObjectUPP) (NPObject * obj);
-#define NewNPN_RetainObjectProc(FUNC) \
- ((NPN_RetainObjectUPP) (FUNC))
-#define CallNPN_RetainObjectProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN_ReleaseObject */
-typedef void (*NP_LOADDS NPN_ReleaseObjectUPP) (NPObject * obj);
-#define NewNPN_ReleaseObjectProc(FUNC) \
- ((NPN_ReleaseObjectUPP) (FUNC))
-#define CallNPN_ReleaseObjectProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN_Invoke */
-typedef bool(*NP_LOADDS NPN_InvokeUPP) (NPP npp, NPObject * obj, NPIdentifier methodName,
- const NPVariant * args, uint32_t argCount,
- NPVariant * result);
-#define NewNPN_InvokeProc(FUNC) \
- ((NPN_InvokeUPP) (FUNC))
-#define CallNPN_InvokeProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
- (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
-
-/* NPN_InvokeDefault */
-typedef bool(*NP_LOADDS NPN_InvokeDefaultUPP) (NPP npp, NPObject * obj, const NPVariant * args,
- uint32_t argCount, NPVariant * result);
-#define NewNPN_InvokeDefaultProc(FUNC) \
- ((NPN_InvokeDefaultUPP) (FUNC))
-#define CallNPN_InvokeDefaultProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
- (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
-
-/* NPN_Evaluate */
-typedef bool(*NP_LOADDS NPN_EvaluateUPP) (NPP npp, NPObject * obj, NPString * script,
- NPVariant * result);
-#define NewNPN_EvaluateProc(FUNC) \
- ((NPN_EvaluateUPP) (FUNC))
-#define CallNPN_EvaluateProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
- (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
-
-/* NPN_GetProperty */
-typedef bool(*NP_LOADDS NPN_GetPropertyUPP) (NPP npp, NPObject * obj, NPIdentifier propertyName,
- NPVariant * result);
-#define NewNPN_GetPropertyProc(FUNC) \
- ((NPN_GetPropertyUPP) (FUNC))
-#define CallNPN_GetPropertyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
- (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
-
-/* NPN_SetProperty */
-typedef bool(*NP_LOADDS NPN_SetPropertyUPP) (NPP npp, NPObject * obj, NPIdentifier propertyName,
- const NPVariant * value);
-#define NewNPN_SetPropertyProc(FUNC) \
- ((NPN_SetPropertyUPP) (FUNC))
-#define CallNPN_SetPropertyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
- (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
-
-/* NPN_RemoveProperty */
-typedef bool(*NP_LOADDS NPN_RemovePropertyUPP) (NPP npp, NPObject * obj, NPIdentifier propertyName);
-#define NewNPN_RemovePropertyProc(FUNC) \
- ((NPN_RemovePropertyUPP) (FUNC))
-#define CallNPN_RemovePropertyProc(FUNC, ARG1, ARG2, ARG3) \
- (*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_HasProperty */
-typedef bool(*NP_LOADDS NPN_HasPropertyUPP) (NPP npp, NPObject * obj, NPIdentifier propertyName);
-#define NewNPN_HasPropertyProc(FUNC) \
- ((NPN_HasPropertyUPP) (FUNC))
-#define CallNPN_HasPropertyProc(FUNC, ARG1, ARG2, ARG3) \
- (*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_HasMethod */
-typedef bool(*NP_LOADDS NPN_HasMethodUPP) (NPP npp, NPObject * obj, NPIdentifier propertyName);
-#define NewNPN_HasMethodProc(FUNC) \
- ((NPN_HasMethodUPP) (FUNC))
-#define CallNPN_HasMethodProc(FUNC, ARG1, ARG2, ARG3) \
- (*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_ReleaseVariantValue */
-typedef void (*NP_LOADDS NPN_ReleaseVariantValueUPP) (NPVariant * variant);
-#define NewNPN_ReleaseVariantValueProc(FUNC) \
- ((NPN_ReleaseVariantValueUPP) (FUNC))
-#define CallNPN_ReleaseVariantValueProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN_SetException */
-typedef void (*NP_LOADDS NPN_SetExceptionUPP) (NPObject * obj, const NPUTF8 * message);
-#define NewNPN_SetExceptionProc(FUNC) \
- ((NPN_SetExceptionUPP) (FUNC))
-#define CallNPN_SetExceptionProc(FUNC, ARG1, ARG2) \
- (*(FUNC))((ARG1), (ARG2))
-
-/* NPN_PushPopupsEnabledStateUPP */
-typedef bool(*NP_LOADDS NPN_PushPopupsEnabledStateUPP) (NPP npp, NPBool enabled);
-#define NewNPN_PushPopupsEnabledStateProc(FUNC) \
- ((NPN_PushPopupsEnabledStateUPP) (FUNC))
-#define CallNPN_PushPopupsEnabledStateProc(FUNC, ARG1, ARG2) \
- (*(FUNC))((ARG1), (ARG2))
-
-/* NPN_PopPopupsEnabledState */
-typedef bool(*NP_LOADDS NPN_PopPopupsEnabledStateUPP) (NPP npp);
-#define NewNPN_PopPopupsEnabledStateProc(FUNC) \
- ((NPN_PopPopupsEnabledStateUPP) (FUNC))
-#define CallNPN_PopPopupsEnabledStateProc(FUNC, ARG1) \
- (*(FUNC))((ARG1))
-
-/* NPN_Enumerate */
-typedef bool(*NP_LOADDS NPN_EnumerateUPP) (NPP npp, NPObject * obj, NPIdentifier ** identifier,
- uint32_t * count);
-#define NewNPN_EnumerateProc(FUNC) \
- ((NPN_EnumerateUPP) (FUNC))
-#define CallNPN_EnumerateProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
- (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
-
-/* NPN_PluginThreadAsyncCall */
-typedef void (*NP_LOADDS NPN_PluginThreadAsyncCallUPP) (NPP instance, void (*func) (void *),
- void *userData);
-#define NewNPN_PluginThreadAsyncCallProc(FUNC) \
- ((NPN_PluginThreadAsyncCallUPP) (FUNC))
-#define CallNPN_PluginThreadAsyncCallProc(FUNC, ARG1, ARG2, ARG3) \
- (*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_Construct */
-typedef bool(*NP_LOADDS NPN_ConstructUPP) (NPP npp, NPObject * obj, const NPVariant * args,
- uint32_t argCount, NPVariant * result);
-#define NewNPN_ConstructProc(FUNC) \
- ((NPN_ConstructUPP) (FUNC))
-#define CallNPN_ConstructProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
- (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
-
-
-
-/******************************************************************************************
- * The actual plugin function table definitions
- *******************************************************************************************/
-#ifdef DISABLE_THIS
-typedef struct _NPPluginFuncs {
- uint16_t size;
- uint16_t version;
- NPP_NewUPP newp;
- NPP_DestroyUPP destroy;
- NPP_SetWindowUPP setwindow;
- NPP_NewStreamUPP newstream;
- NPP_DestroyStreamUPP destroystream;
- NPP_StreamAsFileUPP asfile;
- NPP_WriteReadyUPP writeready;
- NPP_WriteUPP write;
- NPP_PrintUPP print;
- NPP_HandleEventUPP event;
- NPP_URLNotifyUPP urlnotify;
- JRIGlobalRef javaClass;
- NPP_GetValueUPP getvalue;
- NPP_SetValueUPP setvalue;
-} NPPluginFuncs;
-
-typedef struct _NPNetscapeFuncs {
- uint16_t size;
- uint16_t version;
- NPN_GetURLUPP geturl;
- NPN_PostURLUPP posturl;
- NPN_RequestReadUPP requestread;
- NPN_NewStreamUPP newstream;
- NPN_WriteUPP write;
- NPN_DestroyStreamUPP destroystream;
- NPN_StatusUPP status;
- NPN_UserAgentUPP uagent;
- NPN_MemAllocUPP memalloc;
- NPN_MemFreeUPP memfree;
- NPN_MemFlushUPP memflush;
- NPN_ReloadPluginsUPP reloadplugins;
- NPN_GetJavaEnvUPP getJavaEnv;
- NPN_GetJavaPeerUPP getJavaPeer;
- NPN_GetURLNotifyUPP geturlnotify;
- NPN_PostURLNotifyUPP posturlnotify;
- NPN_GetValueUPP getvalue;
- NPN_SetValueUPP setvalue;
- NPN_InvalidateRectUPP invalidaterect;
- NPN_InvalidateRegionUPP invalidateregion;
- NPN_ForceRedrawUPP forceredraw;
- NPN_GetStringIdentifierUPP getstringidentifier;
- NPN_GetStringIdentifiersUPP getstringidentifiers;
- NPN_GetIntIdentifierUPP getintidentifier;
- NPN_IdentifierIsStringUPP identifierisstring;
- NPN_UTF8FromIdentifierUPP utf8fromidentifier;
- NPN_IntFromIdentifierUPP intfromidentifier;
- NPN_CreateObjectUPP createobject;
- NPN_RetainObjectUPP retainobject;
- NPN_ReleaseObjectUPP releaseobject;
- NPN_InvokeUPP invoke;
- NPN_InvokeDefaultUPP invokeDefault;
- NPN_EvaluateUPP evaluate;
- NPN_GetPropertyUPP getproperty;
- NPN_SetPropertyUPP setproperty;
- NPN_RemovePropertyUPP removeproperty;
- NPN_HasPropertyUPP hasproperty;
- NPN_HasMethodUPP hasmethod;
- NPN_ReleaseVariantValueUPP releasevariantvalue;
- NPN_SetExceptionUPP setexception;
- NPN_PushPopupsEnabledStateUPP pushpopupsenabledstate;
- NPN_PopPopupsEnabledStateUPP poppopupsenabledstate;
- // NPN_EnumerateUPP enumerate;
- // NPN_PluginThreadAsyncCallUPP pluginthreadasynccall;
- // NPN_ConstructUPP construct;
-} NPNetscapeFuncs;
-#endif
-
-#ifdef XP_MACOSX
-/******************************************************************************************
- * Mac platform-specific plugin glue stuff
- *******************************************************************************************/
-
-/*
- * Main entry point of the plugin.
- * This routine will be called when the plugin is loaded. The function
- * tables are passed in and the plugin fills in the NPPluginFuncs table
- * and NPPShutdownUPP for Netscape's use.
- */
-typedef NPError(*NP_LOADDS NPP_MainEntryUPP) (NPNetscapeFuncs *, NPPluginFuncs *,
- NPP_ShutdownUPP *);
-#define NewNPP_MainEntryProc(FUNC) \
- ((NPP_MainEntryUPP) (FUNC))
-#define CallNPP_MainEntryProc(FUNC, netscapeFunc, pluginFunc, shutdownUPP) \
- (*(FUNC))((netscapeFunc), (pluginFunc), (shutdownUPP))
-
-/*
- * Mac OS X version(s) of NP_GetMIMEDescription(const char *)
- * These can be called to retreive MIME information from the plugin dynamically
- *
- * Note: For compatibility with Quicktime, BPSupportedMIMEtypes is another way
- * to get mime info from the plugin only on OSX and may not be supported
- * in furture version -- use NP_GetMIMEDescription instead
- */
-
-enum {
- kBPSupportedMIMETypesStructVers_1 = 1
-};
-
-typedef struct _BPSupportedMIMETypes {
- Sint32_t structVersion; /* struct version */
- Handle typeStrings; /* STR# formated handle, allocated by plug-in */
- Handle infoStrings; /* STR# formated handle, allocated by plug-in */
-} BPSupportedMIMETypes;
-OSErr BP_GetSupportedMIMETypes(BPSupportedMIMETypes * mimeInfo, Uint32_t flags);
-
- /* NP_GetMIMEDescription */
-#define NP_GETMIMEDESCRIPTION_NAME "NP_GetMIMEDescription"
-typedef const char *(*NP_LOADDS NP_GetMIMEDescriptionUPP) ();
-#define NewNP_GetMIMEDescEntryProc(FUNC) \
- ((NP_GetMIMEDescriptionUPP) (FUNC))
-#define CallNP_GetMIMEDescEntryProc(FUNC) \
- (*(FUNC))()
-
-/* BP_GetSupportedMIMETypes */
-typedef OSErr(*NP_LOADDS BP_GetSupportedMIMETypesUPP) (BPSupportedMIMETypes *, Uint32_t);
-#define NewBP_GetSupportedMIMETypesEntryProc(FUNC) \
- ((BP_GetSupportedMIMETypesUPP) (FUNC))
-#define CallBP_GetMIMEDescEntryProc(FUNC, mimeInfo, flags) \
- (*(FUNC))((mimeInfo), (flags))
-
-#endif /* XP_MACOSX */
-
-#if defined(_WINDOWS)
-#define OSCALL WINAPI
-#else
-#if defined(__OS2__)
-#define OSCALL _System
-#else
-#define OSCALL
-#endif
-#endif
-
-#if defined(XP_UNIX)
-/* GCC 3.3 and later support the visibility attribute. */
-#if defined(__GNUC__) && \
- ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
-#define NP_VISIBILITY_DEFAULT __attribute__((visibility("default")))
-#else
-#define NP_VISIBILITY_DEFAULT
-#endif
-
-#define NP_EXPORT(__type) NP_VISIBILITY_DEFAULT __type
-#endif
-
-#if defined( _WINDOWS ) || defined (__OS2__)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* plugin meta member functions */
-#if defined(__OS2__)
-
- typedef struct _NPPluginData { /* Alternate OS2 Plugin interface */
- char *pMimeTypes;
- char *pFileExtents;
- char *pFileOpenTemplate;
- char *pProductName;
- char *pProductDescription;
- unsigned long dwProductVersionMS;
- unsigned long dwProductVersionLS;
- } NPPluginData;
-
- NPError OSCALL NP_GetPluginData(NPPluginData * pPluginData);
-
-#endif
-
- NPError OSCALL NP_GetEntryPoints(NPPluginFuncs * pFuncs);
-
- NPError OSCALL NP_Initialize(NPNetscapeFuncs * pFuncs);
-
- NPError OSCALL NP_Shutdown();
-
- char *NP_GetMIMEDescription();
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _WINDOWS || __OS2__ */
-#if defined(__OS2__)
-#pragma pack()
-#endif
-#ifdef XP_UNIX
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* plugin meta member functions */
-
- NP_EXPORT(char *) NP_GetMIMEDescription(void);
- NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs *, NPPluginFuncs *);
- NP_EXPORT(NPError) NP_Shutdown(void);
- NP_EXPORT(NPError) NP_GetValue(void *future, NPPVariable aVariable, void *aValue);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* XP_UNIX */
-#endif /* _NPUPP_H_ */
diff --git a/browser-plugin/plugin.cpp b/browser-plugin/plugin.cpp
deleted file mode 100644
index 2e85aa8..0000000
--- a/browser-plugin/plugin.cpp
+++ /dev/null
@@ -1,508 +0,0 @@
-/* -*- 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 "plugin.h"
-#include "plugin_setup.h"
-#include "plugin_types.h"
-
-static int32_t STREAMBUFSIZE = 0x0FFFFFFF;
-
-NPError NS_PluginInitialize();
-void NS_PluginShutdown();
-NPError NS_PluginGetValue(NPPVariable aVariable, void *aValue);
-
-//////////////////////////////////////
-//
-// general initialization and shutdown
-//
-NPError NS_PluginInitialize()
-{
- return NPERR_NO_ERROR;
-}
-
-void NS_PluginShutdown()
-{
-}
-
-// get values per plugin
-NPError NS_PluginGetValue(NPPVariable aVariable, void *aValue)
-{
- return PluginGetValue(aVariable, aValue);
-}
-
-
-//////////////////////
-/*
- * Callbacks.
- */
-static gboolean
-parole_plugin_ping (gpointer data)
-{
- CPlugin *plugin = (CPlugin*)data;
-
- dbus_g_proxy_call_no_reply (plugin->proxy, "Ping",
- G_TYPE_INVALID,
- G_TYPE_INVALID);
- return TRUE;
-}
-
-static void
-parole_plugin_player_exiting_cb (DBusGProxy *proxy, gpointer data)
-{
- g_debug ("Player exiting");
-
- CPlugin *plugin = (CPlugin*)data;
-
- plugin->player_exited = TRUE;
- if ( plugin->ping_id != 0 )
- g_source_remove (plugin->ping_id);
-}
-
-static void
-parole_plugin_player_ready_cb (DBusGProxy *proxy, gpointer data)
-{
- g_debug ("Player ready");
-
- CPlugin *plugin = (CPlugin*)data;
-
- plugin->player_ready = TRUE;
-
- if ( plugin->ping_id == 0 )
- {
- plugin->ping_id = g_timeout_add_seconds (10, (GSourceFunc) parole_plugin_ping, plugin);
- }
-
-
-}
-
-////////////////////////////////////////
-//
-// CPlugin class implementation
-//
-CPlugin::CPlugin (NPP pNPInstance)
-{
- g_debug ("Constructor");
-
- mInstance = pNPInstance;
- mInitialized = TRUE;
-
- GError *error = NULL;
-
- proxy = NULL;
- murl = NULL;
- cache = NULL;
- tmp_file = NULL;
-
- child_pid = 0;
-
- window_set = FALSE;
- is_playlist = FALSE;
- checked = FALSE;
- player_ready = FALSE;
- player_started = FALSE;
- player_spawned = FALSE;
- player_exited = FALSE;
- player_playing = FALSE;
- ping_id = 0;
-
- bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
-
- if ( error )
- {
- g_warning ("Failed to get session bus %s", error->message);
- g_error_free (error);
- }
-}
-
-CPlugin::~CPlugin()
-{
- if ( ping_id != 0 )
- g_source_remove (ping_id);
-
- StopPlayer ();
-
- if ( tmp_file )
- {
- remove (tmp_file);
- g_free (tmp_file);
- }
-
- if ( cache )
- fclose (cache);
-
- if ( bus )
- dbus_g_connection_unref (bus);
-
- if ( murl )
- g_free (murl);
-
- if ( proxy )
- {
- dbus_g_proxy_disconnect_signal (proxy, "Exiting",
- G_CALLBACK (parole_plugin_player_exiting_cb), this);
-
- dbus_g_proxy_disconnect_signal (proxy, "Ready",
- G_CALLBACK (parole_plugin_player_ready_cb), this);
-
- g_object_unref (proxy);
- }
-
- mInstance = NULL;
-}
-
-NPBool CPlugin::init(NPWindow * pNPWindow)
-{
- if (pNPWindow == NULL)
- return FALSE;
-
- mInitialized = TRUE;
-
- return mInitialized;
-}
-
-void CPlugin::SendPlay (const gchar *url)
-{
- GError *error = NULL;
- g_return_if_fail (proxy);
-
- g_debug ("Sending play request of stream %s", url);
- dbus_g_proxy_call (proxy, "PlayUrl", &error,
- G_TYPE_STRING, url,
- G_TYPE_INVALID,
- G_TYPE_INVALID);
-
- player_playing = TRUE;
-
- if ( error )
- {
- g_critical ("Failed to play stream %s : %s", url, error->message);
- g_error_free (error);
- player_playing = FALSE;
- }
-}
-
-void
-CPlugin::SendList (const gchar *filename)
-{
- GError *error = NULL;
- g_return_if_fail (proxy);
-
- g_debug ("Sending play request of playlist %s", filename);
-
- dbus_g_proxy_call (proxy, "PlayList", &error,
- G_TYPE_STRING, filename,
- G_TYPE_INVALID,
- G_TYPE_INVALID);
-
- player_playing = TRUE;
-
- if ( error )
- {
- g_critical ("Failed to play list %s : %s", filename, error->message);
- g_error_free (error);
- player_playing = FALSE;
- }
-}
-
-NPError CPlugin::RunPlayer ()
-{
- gchar *command[4];
- gchar *socket;
- gchar *app;
- GError *error = NULL;
-
- socket = g_strdup_printf ("%ld", window);
-
- app = g_build_filename (LIBEXECDIR, "parole-media-plugin", NULL);
-
- command[0] = app;
- command[1] = (gchar *)"--socket-id";
- command[2] = socket;
- command[3] = NULL;
-
- if ( !g_spawn_async (NULL,
- command,
- NULL,
- (GSpawnFlags) 0,
- NULL, NULL,
- &child_pid,
- &error) )
- {
- g_critical ("Failed to spawn command : %s", error->message);
- g_error_free (error);
- return NPERR_GENERIC_ERROR;
- }
-
- player_spawned = TRUE;
-
- g_free (socket);
- g_free (app);
-
- GetProxy ();
-
- return NPERR_NO_ERROR;
-}
-
-void CPlugin::GetProxy ()
-{
- gchar *dbus_name;
-
- g_return_if_fail (bus != NULL);
-
- dbus_name = g_strdup_printf ("org.Parole.Media.Plugin%ld", window);
-
- proxy = dbus_g_proxy_new_for_name (bus,
- dbus_name,
- "/org/Parole/Media/Plugin",
- "org.Parole.Media.Plugin");
-
- if ( proxy == NULL)
- g_critical ("Unable to create proxy for %s", dbus_name);
- else
- {
- dbus_g_proxy_add_signal (proxy, "Error", G_TYPE_INVALID);
- dbus_g_proxy_add_signal (proxy, "Finished", G_TYPE_INVALID);
- dbus_g_proxy_add_signal (proxy, "Exiting", G_TYPE_INVALID);
- dbus_g_proxy_add_signal (proxy, "Ready", G_TYPE_INVALID);
-
- dbus_g_proxy_connect_signal (proxy, "Exiting",
- G_CALLBACK (parole_plugin_player_exiting_cb), this, NULL);
-
- dbus_g_proxy_connect_signal (proxy, "Ready",
- G_CALLBACK (parole_plugin_player_ready_cb), this, NULL);
- }
-}
-
-NPError CPlugin::SetWindow(NPWindow * aWindow)
-{
- g_debug ("SetWindow");
-
- if ( aWindow == NULL )
- return NPERR_NO_ERROR;
-
- if ( window_set == FALSE)
- {
- window = (Window) aWindow->window;
- window_set = TRUE;
- return RunPlayer ();
- }
-
- return NPERR_NO_ERROR;
-}
-
-void CPlugin::shut()
-{
- g_debug ("Shut");
-
- if ( player_ready )
- {
- g_debug ("Sending Stop signal");
- dbus_g_proxy_call_no_reply (proxy, "Stop",
- G_TYPE_INVALID,
- G_TYPE_INVALID);
-
- }
-}
-
-NPBool CPlugin::isInitialized()
-{
- return mInitialized;
-}
-
-void CPlugin::StopPlayer ()
-{
- if ( player_spawned )
- {
- if ( player_ready )
- {
- gint num_tries = 0;
-
- do
- {
- GError *error = NULL;
- g_debug ("Sending Quit message");
- dbus_g_proxy_call (proxy, "Quit", &error,
- G_TYPE_INVALID,
- G_TYPE_INVALID);
-
- /*
- * This might happen if the browser unload the plugin quickly
- * while the process didn't get the dbus name.
- */
- if ( error )
- {
-#ifdef DEBUG
- g_debug ("Failed to stop the backend via D-Bus %s", error->message);
-#endif
- if ( g_error_matches (error, DBUS_GERROR, DBUS_GERROR_NO_REPLY ) ||
- g_error_matches (error, DBUS_GERROR, DBUS_GERROR_SERVICE_UNKNOWN) )
- {
- g_error_free (error);
- g_main_context_iteration(NULL, FALSE);
- g_usleep (100000);
- num_tries++;
- g_debug ("No reply, probably not ready, re-trying");
- }
- else
- break;
- }
- else
- break;
-
- } while (num_tries < 4 && player_exited != TRUE);
- }
- else
- {
- char cmd[128];
- g_snprintf (cmd, 128, "kill -9 %d", child_pid);
- g_spawn_command_line_async (cmd, NULL);
- }
- }
-}
-
-NPError CPlugin::NewStream (NPMIMEType type, NPStream * stream, NPBool seekable, uint16_t * stype)
-{
- if ( murl == NULL )
- {
- murl = g_strdup (stream->url);
- g_debug ("NewStream=%s", murl);
- }
-
- return NPERR_NO_ERROR;
-}
-
-NPError CPlugin::DestroyStream(NPStream * stream, NPError reason)
-{
- /*
- g_debug ("DestroyStream reason = %i for %s\n", reason, stream->url);
-
- if ( reason == NPRES_DONE )
- {
- g_debug ("NPRES_DONE");
- }
- else if ( reason == NPRES_USER_BREAK )
- {
- g_debug ("NPRES_USER_BREAK");
-
- }
- else if ( reason == NPRES_NETWORK_ERR )
- {
- g_debug ("NPRES_NETWORK_ERR");
- }
- */
- return NPERR_NO_ERROR;
-}
-
-void CPlugin::URLNotify (const char *url, NPReason reason, void *notifyData)
-{
- g_debug ("Url notify %s reason %i", url, reason);
-}
-
-void CPlugin::StreamAsFile (NPStream * stream, const char *fname)
-{
- g_debug ("StreamAsFile url=%s fname=%s", stream->url, fname);
-}
-
-int32_t CPlugin::WriteReady (NPStream * stream)
-{
- g_debug ("WriteReady url=%s", stream->url);
-
- if ( mode != NP_FULL || mode != NP_EMBED )
- {
- NPN_DestroyStream (mInstance, stream, NPRES_DONE);
- return -1;
- }
-
- return player_ready ? STREAMBUFSIZE : 0;
-}
-
-int32_t CPlugin::Write (NPStream * stream, int32_t offset, int32_t len, void *buffer)
-{
- static int32_t wrotebytes = -1;
-
- if ( checked == FALSE )
- {
- gchar c;
-
- /* Check if the url is a playlist */
- g_debug ("Checking if stream is a playlist");
- is_playlist = TRUE;
- char *data = (char *) buffer;
- for ( int32_t i = 0; i < len; i++)
- {
- c = data[i];
- if ( g_ascii_iscntrl (c) && !g_ascii_isspace (c) )
- {
- is_playlist = FALSE;
- break;
- }
- }
- checked = TRUE;
- }
-
- if ( is_playlist )
- {
- tmp_file = g_strdup_printf ("/tmp/parole-plugin-player-%ld", window);
-
- if (cache == NULL)
- {
- cache = fopen (tmp_file, "w");
- g_warn_if_fail (cache != NULL);
- }
-
- if ( cache )
- {
- fseek (cache, offset, SEEK_SET);
- wrotebytes += fwrite (buffer, 1, MAX (len, STREAMBUFSIZE), cache);
- }
-
- if ( wrotebytes >= 0 )
- {
- fclose (cache);
- cache = NULL;
-
- SendList (tmp_file);
- }
- }
- else if ( player_ready && player_playing == FALSE )
- {
- SendPlay (stream->url);
- return len;
- }
-
- return wrotebytes;
-}
diff --git a/browser-plugin/plugin.h b/browser-plugin/plugin.h
deleted file mode 100644
index ae412a9..0000000
--- a/browser-plugin/plugin.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/* -*- 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 ***** */
-
-#ifndef __PLUGIN_H__
-#define __PLUGIN_H__
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <X11/Xlib.h>
-
-#include <glib.h>
-
-#include <npapi.h>
-#include <npruntime.h>
-#include <npfunctions.h>
-
-#include <stdint.h>
-
-#include <dbus/dbus-glib.h>
-
-class CPlugin {
- private:
- NPWindow *m_Window;
- NPStream *m_pNPStream;
- NPBool mInitialized;
-
- public:
- CPlugin (NPP pNPInstance);
- ~CPlugin ();
-
- NPBool init (NPWindow * aWindow);
- void shut ();
- NPBool isInitialized();
-
- NPError GetValue (NPPVariable variable, void *value);
-
- NPError SetWindow (NPWindow * aWindow);
- NPError NewStream (NPMIMEType type, NPStream * stream, NPBool seekable, uint16_t * stype);
- NPError DestroyStream (NPStream * stream, NPError reason);
- void URLNotify (const char *url, NPReason reason, void *notifyData);
- void StreamAsFile (NPStream * stream, const char *fname);
- int32_t WriteReady (NPStream * stream);
- int32_t Write (NPStream * stream, int32_t offset, int32_t len, void *buffer);
-
- NPError RunPlayer (void);
- void StopPlayer (void);
- void GetProxy (void);
- void SendPlay (const gchar *url);
- void SendList (const gchar *filename);
-
-
- public:
- NPP mInstance;
- uint16_t mode;
- gchar *mimetype;
- GPid child_pid;
-
- DBusGConnection *bus;
- DBusGProxy *proxy;
-
- Window window;
- gchar *murl;
- gchar *tmp_file;
- FILE *cache;
-
- gulong ping_id;
- gboolean window_set;
- gboolean is_playlist;
- gboolean checked;
- gboolean player_ready;
- gboolean player_started;
- gboolean player_spawned;
- gboolean player_exited;
- gboolean player_playing;
-};
-
-#endif // __PLUGIN_H__
diff --git a/browser-plugin/plugin_setup.cpp b/browser-plugin/plugin_setup.cpp
deleted file mode 100644
index 735de4b..0000000
--- a/browser-plugin/plugin_setup.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- 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 "plugin.h"
-#include "plugin_setup.h"
-
-// void new_instance(CPlugin * instance, nsPluginCreateData * parameters)
-void new_instance(CPlugin * instance, int16_t argc, char *argn[], char *argv[])
-{
-}
-
-gint streaming (gchar * url)
-{
- gint ret = 0;
- char *p;
-
- if (g_ascii_strncasecmp(url, "mms://", 6) == 0)
- ret = 1;
-
- if (g_ascii_strncasecmp(url, "mmst://", 7) == 0)
- ret = 1;
-
- if (g_ascii_strncasecmp(url, "mmsu://", 7) == 0)
- ret = 1;
-
- if (g_ascii_strncasecmp(url, "rtsp://", 7) == 0)
- ret = 1;
-
- if (g_ascii_strncasecmp(url, "tv://", 5) == 0)
- ret = 1;
-
- if (g_ascii_strncasecmp(url, "dvd://", 6) == 0)
- ret = 1;
-
- if (g_ascii_strncasecmp(url, "file://", 7) == 0) {
- p = g_filename_from_uri(url, NULL, NULL);
- if (p != NULL) {
- if (g_file_test(p, G_FILE_TEST_EXISTS)) {
- g_strlcpy(url, p, 1024);
- ret = 1;
- }
- g_free(p);
- }
- }
- return ret;
-}
diff --git a/browser-plugin/plugin_setup.h b/browser-plugin/plugin_setup.h
deleted file mode 100644
index 7f739ec..0000000
--- a/browser-plugin/plugin_setup.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* -*- 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 ***** */
-
-#ifndef _PLUGIN_SETUP_H
-#define _PLUGIN_SETUP_H
-
-void new_instance(CPlugin * instance, int16_t argc, char *argn[], char *argv[]);
-gint streaming(gchar * url);
-
-#endif // _PLUGIN_SETUP_H
diff --git a/browser-plugin/plugin_types.cpp b/browser-plugin/plugin_types.cpp
deleted file mode 100644
index 9b6f06a..0000000
--- a/browser-plugin/plugin_types.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/* -*- 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 "plugin_types.h"
-
-gchar *GetMIMEDescription()
-{
- const gchar *mime_types_list = /* Wmp mime types */
- "application/asx:*:Media Files;"
- "video/x-ms-asf-plugin:*:Media Files;"
- "video/x-msvideo:avi,*:AVI;"
- "video/msvideo:avi,*:AVI;"
- "application/x-mplayer2:*:Media Files;"
- "application/x-ms-wmv:wmv,*:Microsoft WMV video;"
- "video/x-ms-asf:asf,asx,*:Media Files;"
- "video/x-ms-wm:wm,*:Media Files;"
- "video/x-ms-wmv:wmv,*:Microsoft WMV video;"
- "audio/x-ms-wmv:wmv,*:Windows Media;"
- "video/x-ms-wmp:wmp,*:Windows Media;"
- "application/x-ms-wmp:wmp,*:Windows Media;"
- "video/x-ms-wvx:wvx,*:Windows Media;"
- "audio/x-ms-wax:wax,*:Windows Media;"
- "audio/x-ms-wma:wma,*:Windows Media;"
- "application/x-drm-v2:asx,*:Windows Media;"
- "audio/wav:wav,*:Microsoft wave file;"
- "audio/x-wav:wav,*:Microsoft wave file;"
- /* Standard mime types */
- "audio/x-mpegurl:m3u:MPEG Playlist;"
- "video/mpeg:mpg,mpeg:MPEG;"
- "audio/mpeg:mpg,mpeg:MPEG;"
- "video/x-mpeg:mpg,mpeg:MPEG;"
- "video/x-mpeg2:mpv2,mp2ve:MPEG2;"
- "audio/mpeg:mpg,mpeg:MPEG;"
- "audio/x-mpeg:mpg,mpeg:MPEG;"
- "audio/mpeg2:mp2:MPEG audio;"
- "audio/x-mpeg2:mp2:MPEG audio;"
- "audio/mp4:mp4:MPEG 4 audio;"
- "audio/x-mp4:mp4:MPEG 4 audio;"
- "video/mp4:mp4:MPEG 4 Video;"
- "video/x-m4v:m4v:MPEG 4 Video;"
- "video/3gpp:mp4,3gp:MPEG 4 Video;"
- "application/x-ogg:ogg:Ogg Vorbis Media;"
- "audio/flac:ogg:FLAC Lossless Audio;"
- "audio/x-flac:ogg:FLAC Lossless Audio;"
- "audio/ogg:ogg:Ogg Vorbis Audio;"
- "audio/ogg:x-ogg:Ogg Vorbis Audio;"
- "application/ogg:ogg:Ogg Vorbis / Ogg Theora;"
- "video/ogg:ogg:Ogg Vorbis Video;"
- "video/ogg:x-ogg:Ogg Vorbis Video;"
- /* Real audio */
- "audio/x-pn-realaudio:ram,rm:RealAudio;"
- "application/vnd.rn-realmedia:rm:RealMedia;"
- "application/vnd.rn-realaudio:ra,ram:RealAudio;"
- "video/vnd.rn-realvideo:rv:RealVideo;"
- "audio/x-realaudio:ra:RealAudio;"
- "audio/x-pn-realaudio-plugin:rpm:RealAudio;"
- "application/smil:smil:SMIL;"
- /* DivX Mime type */
- "video/divx:divx:DivX Media Format;"
- "video/vnd.divx:divx:DivX Media Format;"
- /*Quick time */
- "video/quicktime:mov:Quicktime;"
- "video/x-quicktime:mov:Quicktime;"
- "image/x-quicktime:mov:Quicktime;"
- "video/quicktime:mp4:Quicktime;"
- "video/quicktime:sdp:Quicktime - Session Description Protocol;"
- "application/x-quicktimeplayer:mov:Quicktime;";
-
- g_debug ("GetMimeDescription");
-
- return g_strdup (mime_types_list);
-}
-
-NPError PluginGetValue(NPPVariable variable, void *value)
-{
- NPError err = NPERR_NO_ERROR;
-
- // some sites use this description to figure out what formats can be played. So we have to make sure the
- // description matches the features
-
- if (variable == NPPVpluginNameString) {
- *((const char **) value) = "Parole media player plugin-in";
- }
- if (variable == NPPVpluginDescriptionString) {
- *((const char **) value) =
- "Media player browser plugin for various media format version " VERSION;
-
- }
-
- if (variable == NPPVpluginNeedsXEmbed) {
- *((bool *) value) = TRUE;
- }
-
- if ((variable != NPPVpluginNameString)
- && (variable != NPPVpluginDescriptionString)
- && (variable != NPPVpluginNeedsXEmbed)) {
- err = NPERR_INVALID_PARAM;
- }
-
- return err;
-}
diff --git a/browser-plugin/plugin_types.h b/browser-plugin/plugin_types.h
deleted file mode 100644
index a1164b0..0000000
--- a/browser-plugin/plugin_types.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* -*- 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 ***** */
-
-#ifndef _PLUGIN_TYPES_H
-#define _PLUGIN_TYPES_H
-#include <glib.h>
-#include "plugin.h"
-#include "config.h"
-
-gchar *GetMIMEDescription();
-NPError PluginGetValue(NPPVariable variable, void *value);
-
-#endif // _PLUGIN_TYPES_H
More information about the Xfce4-commits
mailing list