void nsPluginThread::dispatch() { dbgOut2("nsPluginThread::dispatch: %s", FormatAction(mAction)); switch (mAction) { case action_npp_new: pluginNPPFuncs.newp((NPMIMEType)mP1, (NPP)mP2, (uint16)mP3, (int16)mP4, (char**)mP5, (char**)mP6, (NPSavedData*)mP7); break; case action_npp_destroy: pluginNPPFuncs.destroy((NPP)mP1, (NPSavedData**)mP2); break; case action_npp_set_window: pluginNPPFuncs.setwindow((NPP)mP1, (NPWindow*)mP2); break; case action_npp_new_stream: pluginNPPFuncs.newstream((NPP)mP1, (NPMIMEType)mP2, (NPStream*)mP3, (NPBool)mP4, (uint16*)mP5); break; case action_npp_destroy_stream: { NPStream * stream = (NPStream *)mP2; pluginNPPFuncs.destroystream((NPP)mP1, stream, (NPError)mP3); break; } case action_npp_stream_as_file: { NPStream * stream = (NPStream *)mP2; pluginNPPFuncs.asfile((NPP)mP1, stream, (char*)mP3); break; } case action_npp_write_ready: pluginNPPFuncs.writeready((NPP)mP1, (NPStream *)mP2); break; case action_npp_write: pluginNPPFuncs.write((NPP)mP1, (NPStream *)mP2, (int32)mP3, (int32)mP4, (void *)mP5); break; case action_npp_print: pluginNPPFuncs.print((NPP)mP1, (NPPrint*)mP2); break; case action_npp_handle_event: pluginNPPFuncs.event((NPP)mP1, (void *)mP2); break; case action_npp_url_notify: pluginNPPFuncs.urlnotify((NPP)mP1, (const char*)mP2, (NPReason)mP3, (void*)mP4); break; case action_npp_get_java_class: //pluginNPPFuncs.javaClass; break; case action_npp_get_value: pluginNPPFuncs.getvalue((NPP)mP1, (NPPVariable)mP2, (void *)mP3); break; case action_npp_set_value: pluginNPPFuncs.setvalue((NPP)mP1, (NPNVariable)mP2, (void *)mP3); break; default: dbgOut1("Unexpected action!"); break; } }
static int32 MyNPP_WriteReady(NPP instance, NPStream* stream) { int32 ret; DEB(ef, "-> NPP_WriteReady( %x, 0x%x )\n", instance, stream); ret = gPluginFuncs.writeready( instance, stream ); DEB(ef, "<- NPP_WriteReady = %d\n", ret); return ret; }