123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262 |
- #include "plugin.h"
- char*
- NPP_GetMIMEDescription(void)
- {
- return "application/x-winampx-1.0.0.1::Winamp Application Detector";
- }
- NPError NPP_Initialize(void)
- {
- return NPERR_NO_ERROR;
- }
- void NPP_Shutdown(void)
- {
- }
- NPError NPP_New(NPMIMEType pluginType,
- NPP instance,
- uint16 mode,
- int16 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;
- return rv;
- }
- 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;
- }
- 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;
-
- if(!pPlugin->isInitialized() && (pNPWindow->window != NULL)) {
- if(!pPlugin->init(pNPWindow)) {
- delete pPlugin;
- pPlugin = NULL;
- return NPERR_MODULE_LOAD_FAILED_ERROR;
- }
- }
-
- if((pNPWindow->window == NULL) && pPlugin->isInitialized())
- return NPERR_NO_ERROR;
-
- if(pPlugin->isInitialized() && (pNPWindow->window != NULL))
- return NPERR_NO_ERROR;
-
- if((pNPWindow->window == NULL) && !pPlugin->isInitialized())
- return NPERR_NO_ERROR;
- return rv;
- }
- NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value)
- {
- if(instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
- NPError rv = NPERR_NO_ERROR;
- if(instance == NULL)
- return NPERR_GENERIC_ERROR;
- CPlugin * plugin = (CPlugin *)instance->pdata;
- if(plugin == NULL)
- return NPERR_GENERIC_ERROR;
- switch (variable) {
- case NPPVpluginNameString:
- *((char **)value) = "Winamp Application Detector";
- break;
- case NPPVpluginDescriptionString:
- *((char **)value) = "Winamp Application Detector";
- break;
- case NPPVpluginScriptableNPObject:
- *(NPObject **)value = plugin->GetScriptableObject();
- break;
- default:
- rv = NPERR_GENERIC_ERROR;
- }
- return rv;
- }
- NPError NPP_NewStream(NPP instance,
- NPMIMEType type,
- NPStream* stream,
- NPBool seekable,
- uint16* stype)
- {
- if(instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
- NPError rv = NPERR_NO_ERROR;
- return rv;
- }
- int32 NPP_WriteReady (NPP instance, NPStream *stream)
- {
- if(instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
- int32 rv = 0x0fffffff;
- return rv;
- }
- int32 NPP_Write (NPP instance, NPStream *stream, int32 offset, int32 len, void *buffer)
- {
- if(instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
- int32 rv = len;
- return rv;
- }
- NPError NPP_DestroyStream (NPP instance, NPStream *stream, NPError reason)
- {
- if(instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
- NPError rv = NPERR_NO_ERROR;
- 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;
- }
- 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 NPP_HandleEvent(NPP instance, void* event)
- {
- if(instance == NULL)
- return 0;
- int16 rv = 0;
- CPlugin * pPlugin = (CPlugin *)instance->pdata;
- if (pPlugin)
- rv = pPlugin->handleEvent(event);
- return rv;
- }
|