FreeWRL / FreeX3D 4.3.0
nsIPluginInstance.idl
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/* ***** BEGIN LICENSE BLOCK *****
3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 *
5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 * http://www.mozilla.org/MPL/
9 *
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 * for the specific language governing rights and limitations under the
13 * License.
14 *
15 * The Original Code is mozilla.org code.
16 *
17 * The Initial Developer of the Original Code is
18 * Netscape Communications Corporation.
19 * Portions created by the Initial Developer are Copyright (C) 1998
20 * the Initial Developer. All Rights Reserved.
21 *
22 * Contributor(s):
23 *
24 * Alternatively, the contents of this file may be used under the terms of
25 * either the GNU General Public License Version 2 or later (the "GPL"), or
26 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 * in which case the provisions of the GPL or the LGPL are applicable instead
28 * of those above. If you wish to allow use of your version of this file only
29 * under the terms of either the GPL or the LGPL, and not to allow others to
30 * use your version of this file under the terms of the MPL, indicate your
31 * decision by deleting the provisions above and replace them with the notice
32 * and other provisions required by the GPL or the LGPL. If you do not delete
33 * the provisions above, a recipient may use your version of this file under
34 * the terms of any one of the MPL, the GPL or the LGPL.
35 *
36 * ***** END LICENSE BLOCK ***** */
37
38#include "nsISupports.idl"
39#include "nsIPluginStreamListener.idl"
40
42interface nsIOutputStream;
43
44%{C++
45#include "nsplugindefs.h"
46#include "nsStringGlue.h"
47struct JSContext;
48struct JSObject;
49
50#define NPRUNTIME_JSCLASS_NAME "NPObject JS wrapper class"
51%}
52
53[ptr] native JSContextPtr(JSContext);
54[ptr] native JSObjectPtr(JSObject);
55
56[uuid(67D606F4-1D6D-4FE2-A2D6-10BDA65788E1)]
57interface nsIPluginInstance : nsISupports
58{
66 void initialize(in nsIPluginInstanceOwner aOwner, in string aMIMEType);
67
77 void start();
78
87 void stop();
88
97 void setWindow(in nsPluginWindowPtr aWindow);
98
109
123 void newStreamFromPlugin(in string aType, in string aTarget, out nsIOutputStream aResult);
124
133 void print(in nsPluginPrintPtr aPlatformPrint);
134
142 void getValue(in nsPluginInstanceVariable aVariable, in voidPtr aValue);
143
159 void handleEvent(in nsPluginEventPtr aEvent, out boolean aHandled);
160
164 void invalidateRect(in nsPluginRectPtr aRect);
165
169 void invalidateRegion(in nsPluginRegion aRegion);
170
175
184 void getMIMEType([const, shared] out string aValue);
185
192 readonly attribute JSContextPtr JSContext;
193
194 attribute nsIPluginInstanceOwner owner;
195
205 void showStatus(in string aMessage);
206
211
212 JSObjectPtr GetJSObject(in JSContextPtr cx);
213
214 readonly attribute AString formValue;
215
216 void pushPopupsEnabledState(in boolean aEnabled);
217 void popPopupsEnabledState();
218
219 readonly attribute PRUint16 pluginAPIVersion;
220
221 void defineJavaProperties();
222};
void getMIMEType([const, shared] out string aValue)
Returns the MIME type of the plugin instance.
void showStatus(in string aMessage)
This operation causes status information to be displayed on the window associated with the plugin ins...
readonly attribute JSContextPtr JSContext
Get the JavaScript context to this plugin instance.
void setWindow(in nsPluginWindowPtr aWindow)
Called when the window containing the plugin instance changes.
void handleEvent(in nsPluginEventPtr aEvent, out boolean aHandled)
Handles an event.
void forceRedraw()
Corresponds to NPN_ForceRedraw.
void invalidateOwner()
Drop our reference to our owner.
void print(in nsPluginPrintPtr aPlatformPrint)
Called to instruct the plugin instance to print itself to a printer.
void start()
Called to instruct the plugin instance to start.
void newStreamToPlugin(out nsIPluginStreamListener aListener)
Called to tell the plugin that the initial src/data stream is ready.
void newStreamFromPlugin(in string aType, in string aTarget, out nsIOutputStream aResult)
This operation is called by the plugin instance when it wishes to send a stream of data to the browse...
void invalidateRegion(in nsPluginRegion aRegion)
Corresponds to NPN_InvalidateRegion.
void stop()
Called to instruct the plugin instance to stop, thereby suspending its state.
void initialize(in nsIPluginInstanceOwner aOwner, in string aMIMEType)
Initializes a newly created plugin instance.
void invalidateRect(in nsPluginRectPtr aRect)
Corresponds to NPN_InvalidateRect.
void getValue(in nsPluginInstanceVariable aVariable, in voidPtr aValue)
Returns the value of a variable associated with the plugin instance.