summaryrefslogtreecommitdiffstats
path: root/doc/html/qnplugin.html
blob: f5dd9d1c520ecbca427ad67eecabc875c96a36ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/nsplugin/src/qnp.cpp:1421 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>TQNPlugin Class</title>
<style type="text/css"><!--
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
--></style>
</head>
<body>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
 <a href="index.html">
<font color="#004faf">Home</font></a>
 | <a href="classes.html">
<font color="#004faf">All&nbsp;Classes</font></a>
 | <a href="mainclasses.html">
<font color="#004faf">Main&nbsp;Classes</font></a>
 | <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
 | <a href="groups.html">
<font color="#004faf">Grouped&nbsp;Classes</font></a>
 | <a href="functions.html">
<font color="#004faf">Functions</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>TQNPlugin Class Reference</h1>

<p>The TQNPlugin class provides the main factory for plugin objects.
<a href="#details">More...</a>
<p>This class is part of the <b>TQt Netscape Extension</b>.
<p><tt>#include &lt;<a href="qnp-h.html">qnp.h</a>&gt;</tt>
<p><a href="qnplugin-members.html">List of all member functions.</a>
<h2>Public Members</h2>
<ul>
<li class=fn>virtual <a href="#~TQNPlugin"><b>~TQNPlugin</b></a> ()</li>
<li class=fn>void <a href="#getVersionInfo"><b>getVersionInfo</b></a> ( int&nbsp;&amp;&nbsp;plugin_major, int&nbsp;&amp;&nbsp;plugin_minor, int&nbsp;&amp;&nbsp;browser_major, int&nbsp;&amp;&nbsp;browser_minor )</li>
<li class=fn>virtual TQNPInstance * <a href="#newInstance"><b>newInstance</b></a> () = 0</li>
<li class=fn>virtual const char * <a href="#getMIMEDescription"><b>getMIMEDescription</b></a> () const = 0</li>
<li class=fn>virtual const char * <a href="#getPluginNameString"><b>getPluginNameString</b></a> () const = 0</li>
<li class=fn>virtual const char * <a href="#getPluginDescriptionString"><b>getPluginDescriptionString</b></a> () const = 0</li>
<li class=fn>virtual void * <a href="#getJavaClass"><b>getJavaClass</b></a> ()</li>
<li class=fn>virtual void <a href="#unuseJavaClass"><b>unuseJavaClass</b></a> ()</li>
<li class=fn>void * <a href="#getJavaEnv"><b>getJavaEnv</b></a> () const</li>
</ul>
<h2>Static Public Members</h2>
<ul>
<li class=fn>TQNPlugin * <a href="#create"><b>create</b></a> ()</li>
<li class=fn>TQNPlugin * <a href="#actual"><b>actual</b></a> ()</li>
</ul>
<h2>Protected Members</h2>
<ul>
<li class=fn><a href="#TQNPlugin"><b>TQNPlugin</b></a> ()</li>
</ul>
<hr><a name="details"></a><h2>Detailed Description</h2>
<p> This class is defined in the <b>TQt <a href="netscape-plugin.html#Netscape">Netscape</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main TQt API.
<p>

The TQNPlugin class provides the main factory for plugin objects.
<p> 
<p> This class is the heart of the plugin. One instance of this object
is created when the plugin is <em>first</em> needed, by calling
<a href="#create">TQNPlugin::create</a>(), which must be implemented in your plugin code
to return some derived class of TQNPlugin. The one TQNPlugin object
creates all <a href="qnpinstance.html">TQNPInstance</a> instances for a web browser running in a
single process.
<p> Additionally, if TQt is linked to the plugin as a dynamic library,
only one instance of <a href="qapplication.html">TQApplication</a> will exist <em>across all plugins that have been made with TQt</em>. So, your plugin should tread lightly
on global settings. Do not, for example, use
<a href="qapplication.html#setFont">TQApplication::setFont</a>() - that will change the font in every
widget of every TQt-based plugin currently loaded!

<hr><h2>Member Function Documentation</h2>
<h3 class=fn><a name="TQNPlugin"></a>TQNPlugin::TQNPlugin ()<tt> [protected]</tt>
</h3>
Creates a TQNPlugin. This may only be used by the constructor
of the class, derived from TQNPlugin, that is returned by your
plugin's implementation of the <a href="#create">TQNPlugin::create</a>() function.

<h3 class=fn><a name="~TQNPlugin"></a>TQNPlugin::~TQNPlugin ()<tt> [virtual]</tt>
</h3>
Destroys the TQNPlugin. This is called by the plugin binding code
just before the plugin is about to be unloaded from memory. If
newWindow() has been called, a <a href="qapplication.html">TQApplication</a> will still exist at
this time, but will be deleted shortly after, just before the plugin
is deleted.

<h3 class=fn><a href="qnplugin.html">TQNPlugin</a>&nbsp;* <a name="actual"></a>TQNPlugin::actual ()<tt> [static]</tt>
</h3>
Returns the plugin most recently returned by <a href="#create">TQNPlugin::create</a>().

<h3 class=fn><a href="qnplugin.html">TQNPlugin</a>&nbsp;* <a name="create"></a>TQNPlugin::create ()<tt> [static]</tt>
</h3>

<p> This function must be implemented by your plugin code. It should return a
derived class of TQNPlugin.

<h3 class=fn>void * <a name="getJavaClass"></a>TQNPlugin::getJavaClass ()<tt> [virtual]</tt>
</h3>
Override this function to return a reference to the Java class that represents
the plugin. The default returns 0, indicating no class.
<p> If you override this class, you must also override
<a href="#unuseJavaClass">TQNPlugin::unuseJavaClass</a>().
<p> The return value is actually a <tt>jref</tt>; we use <tt>void*</tt> so as to
avoid burdening plugins which do not require Java.
<p> <p>See also <a href="#getJavaEnv">getJavaEnv</a>() and <a href="qnpinstance.html#getJavaPeer">TQNPInstance::getJavaPeer</a>().

<h3 class=fn>void * <a name="getJavaEnv"></a>TQNPlugin::getJavaEnv () const
</h3>
Returns a pointer to the Java execution environment, or 0 if
either Java is disabled or an error occurred.
<p> The return value is actually a <tt>JRIEnv*</tt>; we use <tt>void*</tt> so as
to avoid burdening plugins which do not require Java.
<p> <p>See also <a href="#getJavaClass">getJavaClass</a>() and <a href="qnpinstance.html#getJavaPeer">TQNPInstance::getJavaPeer</a>().

<h3 class=fn>const char * <a name="getMIMEDescription"></a>TQNPlugin::getMIMEDescription () const<tt> [pure virtual]</tt>
</h3>

<p> Override this function to return the MIME description of the data formats
supported by your plugin. The format of this string is shown by
the following example:
<p> <pre>
    const char* getMIMEDescription() const
    {
        return "image/x-png:png:PNG Image;"
               "image/png:png:PNG Image;"
               "image/x-portable-bitmap:pbm:PBM Image;"
               "image/x-portable-graymap:pgm:PGM Image;"
               "image/x-portable-pixmap:ppm:PPM Image;"
               "image/bmp:bmp:BMP Image;"
               "image/x-ms-bmp:bmp:BMP Image;"
               "image/x-xpixmap:xpm:XPM Image;"
               "image/xpm:xpm:XPM Image";
    }
</pre>
 

<h3 class=fn>const char * <a name="getPluginDescriptionString"></a>TQNPlugin::getPluginDescriptionString () const<tt> [pure virtual]</tt>
</h3>

<p> Returns a pointer to the plain-text description of the plugin.

<h3 class=fn>const char * <a name="getPluginNameString"></a>TQNPlugin::getPluginNameString () const<tt> [pure virtual]</tt>
</h3>

<p> Returns a pointer to the plain-text name of the plugin.

<h3 class=fn>void <a name="getVersionInfo"></a>TQNPlugin::getVersionInfo ( int&nbsp;&amp;&nbsp;plugin_major, int&nbsp;&amp;&nbsp;plugin_minor, int&nbsp;&amp;&nbsp;browser_major, int&nbsp;&amp;&nbsp;browser_minor )
</h3>
Populates <em>*</em><em>plugin_major</em> and <em>*</em><em>plugin_minor</em> with the
version of the plugin API and populates <em>*</em><em>browser_major</em> and
<em>*</em><em>browser_minor</em> with the version of the web browser.

<h3 class=fn><a href="qnpinstance.html">TQNPInstance</a>&nbsp;* <a name="newInstance"></a>TQNPlugin::newInstance ()<tt> [pure virtual]</tt>
</h3>

<p> Override this function to return an appropriate derived class of
<a href="qnpinstance.html">TQNPInstance</a>.

<h3 class=fn>void <a name="unuseJavaClass"></a>TQNPlugin::unuseJavaClass ()<tt> [virtual]</tt>
</h3>
This function is called when the plugin is shutting down. The
function should <em>unuse</em> the Java class returned earlier by
<a href="#getJavaClass">getJavaClass</a>().

<!-- eof -->
<hr><p>
This file is part of the <a href="index.html">TQt toolkit</a>.
Copyright &copy; 1995-2007
<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright &copy; 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>TQt 3.3.8</div>
</table></div></address></body>
</html>