<isol>

#include <stdio.h>
#include "npapi.h"

/*
 * Plugin-Initialisierung.
 */
NPError NPP_Initialize(void)
{ return NPERR_NO_ERROR; }

void NPP_Shutdown(void)
{ }

/*
 * Instance-Initialisierung. 
 */
NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode,
	int16 argc, char* argn[], char* argv[], NPSavedData* saved)
{ return NPERR_NO_ERROR; }

NPError NPP_Destroy(NPP instance, NPSavedData** save)
{ return NPERR_NO_ERROR; }

/*
 * Ausgabe der Größe des Plugin-Bereiches,
 * wann immer sie sich ändert.
 */
NPError NPP_SetWindow(NPP instance, NPWindow* window)
{
	char message[256]; 
	
	sprintf(message, "iX - Plugin: %d, %d", window->height, window->width);
	NPN_Status(instance, message);
	return NPERR_NO_ERROR;
}

/*
 * Datenstromfunktionen (nicht benutzt)
 */
NPError NPP_NewStream(NPP instance, NPMIMEType type, NPStream *stream, NPBool seekable, uint16 *stype)
{ return NPERR_NO_ERROR; }

int32 NPP_WriteReady(NPP instance, NPStream *stream)
{ return 0xFFFF; } // Wir akzeptieren sehr große Puffer

int32 NPP_Write(NPP instance, NPStream *stream, int32 offset, int32 len, void *buffer)
{ return len; } // wir melden zurück, dass wir die Daten konsumiert haben

NPError NPP_DestroyStream(NPP instance, NPStream *stream, NPError reason)
{ return NPERR_NO_ERROR; }

void NPP_StreamAsFile(NPP instance, NPStream *stream, const char* fname)
{ }

void NPP_URLNotify(NPP instance, const char* url, NPReason reason, void* notifyData)
{ }

/*
 * Weitere Funktionen (nicht benutzt)
 */
void NPP_Print(NPP instance, NPPrint* printInfo)
{ return; }        // Keine Druckfunktion

NPError NPP_HandleEvent(NPP instance, void* event)
{ return FALSE; }  // Irrelevant, da nicht fuer Mac

jref NPP_GetJavaClass(void)
{ return NULL; }   // Keine Java-Klasse assoziiert
