📄 npupp.h
字号:
#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 *******************************************************************************************/typedef struct _NPPluginFuncs { uint16 size; uint16 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 size; uint16 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;#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 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); /* 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);#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 __cplusplusextern "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);#endifNPError 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 __cplusplusextern "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_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -