nsIPluginInstance

IID:ebe00f40-0199-11d2-815b-006008119d7a
Inherits From:nsISupports

The nsIPluginInstance interface is the minimum interface plugin developers need to support in order to implement a plugin instance. The plugin manager may QueryInterface for more specific types, e.g. nsILiveConnectPluginInstance.

(Corresponds to NPP object.)

The old NPP_Destroy call has been factored into two plugin instance methods:

Stop -- called when the plugin instance is to be stopped (e.g. by displaying another plugin manager window, causing the page containing the plugin to become removed from the display).

Destroy -- called once, before the plugin instance peer is to be destroyed. This method is used to destroy the plugin instance.


Properties

readonly nsIPluginInstancePeer peer

Returns a reference back to the plugin instance peer. This method is used whenever the browser needs to obtain the peer back from a plugin instance. The implementation of this method should be sure to increment the reference count on the peer by calling AddRef.


Methods

void destroy ( ) void getValue ( inInstanceVariable variable , voidPtr* value ) void handleEvent ( nsPluginEventPtr* event , out PRBool handled ) void initialize ( nsIPluginInstancePeer peer ) void newStream ( out nsIPluginStreamListener listener ) void print ( nsPluginPrintPtr* platformPrint ) void setWindow ( nsPluginWindowPtr* window ) void start ( ) void stop ( )

void destroy ( )

Called to instruct the plugin instance to destroy itself. This is called when it become no longer possible to return to the plugin instance, either because the browser window's history list of pages is being trimmed, or because the window containing this page in the history is being closed.


void getValue ( inInstanceVariable variable , voidPtr* value )

Returns the value of a variable associated with the plugin instance.

Arguments:
variable: - the plugin instance variable to get
value: - the address of where to store the resulting value

void handleEvent ( nsPluginEventPtr* event , out PRBool handled )

Handles an event. An nsIEventHandler can also get registered with with nsIPluginManager2::RegisterWindow and will be called whenever an event comes in for that window.

Note that for Unix and Mac the nsPluginEvent structure is different from the old NPEvent structure -- it's no longer the native event record, but is instead a struct. This was done for future extensibility, and so that the Mac could receive the window argument too. For Windows and OS2, it's always been a struct, so there's no change for them.

(Corresponds to NPP_HandleEvent.)

Arguments:
event: - the event to be handled
handled: - set to PR_TRUE if event was handled

void initialize ( nsIPluginInstancePeer peer )

Initializes a newly created plugin instance, passing to it the plugin instance peer which it should use for all communication back to the browser.

Arguments:
peer: - the corresponding plugin instance peer

void newStream ( out nsIPluginStreamListener listener )

Called to tell the plugin that the initial src/data stream is ready. Expects the plugin to return a nsIPluginStreamListener.

(Corresponds to NPP_NewStream.)

Arguments:
listener: - listener the browser will use to give the plugin the data

void print ( nsPluginPrintPtr* platformPrint )

Called to instruct the plugin instance to print itself to a printer.

(Corresponds to NPP_Print.)

Arguments:
platformPrint: - platform-specific printing information

void setWindow ( nsPluginWindowPtr* window )

Called when the window containing the plugin instance changes.

(Corresponds to NPP_SetWindow.)

Arguments:
window: - the plugin window structure

void start ( )

Called to instruct the plugin instance to start. This will be called after the plugin is first created and initialized, and may be called after the plugin is stopped (via the Stop method) if the plugin instance is returned to in the browser window's history.


void stop ( )

Called to instruct the plugin instance to stop, thereby suspending its state. This method will be called whenever the browser window goes on to display another page and the page containing the plugin goes into the window's history list.


References

This interface is passed as an argument to the following methods:

nsIPluginHost.handleBadPlugin, nsIPluginHost.stopPluginInstance, nsIPluginInstanceOwner.setInstance, nsPIPluginHost.setIsScriptableInstance

Reference documentation is generated from Mozilla's source.

Add a note User Contributed Notes
No comments available

Copyright © 1999 - 2005 XULPlanet.com