summaryrefslogtreecommitdiffstats
path: root/doc/html/qnpinstance.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/qnpinstance.html')
-rw-r--r--doc/html/qnpinstance.html321
1 files changed, 321 insertions, 0 deletions
diff --git a/doc/html/qnpinstance.html b/doc/html/qnpinstance.html
new file mode 100644
index 000000000..00067aea2
--- /dev/null
+++ b/doc/html/qnpinstance.html
@@ -0,0 +1,321 @@
+<!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:870 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>TQNPInstance 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>TQNPInstance Class Reference</h1>
+
+<p>The TQNPInstance class provides a TQObject that is a web browser plugin.
+<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>Inherits <a href="qobject.html">TQObject</a>.
+<p><a href="qnpinstance-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#~TQNPInstance"><b>~TQNPInstance</b></a> ()</li>
+<li class=fn>int <a href="#argc"><b>argc</b></a> () const</li>
+<li class=fn>const char * <a href="#argn"><b>argn</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>const char * <a href="#argv"><b>argv</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>enum <a href="#Reason-enum"><b>Reason</b></a> { ReasonDone = 0, ReasonBreak = 1, ReasonError = 2, ReasonUnknown = -1 }</li>
+<li class=fn>const char * <a href="#arg"><b>arg</b></a> ( const&nbsp;char&nbsp;*&nbsp;name ) const</li>
+<li class=fn>enum <a href="#InstanceMode-enum"><b>InstanceMode</b></a> { Embed = 1, Full = 2, Background = 3 }</li>
+<li class=fn>InstanceMode <a href="#mode"><b>mode</b></a> () const</li>
+<li class=fn>const char * <a href="#userAgent"><b>userAgent</b></a> () const</li>
+<li class=fn>virtual TQNPWidget * <a href="#newWindow"><b>newWindow</b></a> ()</li>
+<li class=fn>TQNPWidget * <a href="#widget"><b>widget</b></a> ()</li>
+<li class=fn>enum <a href="#StreamMode-enum"><b>StreamMode</b></a> { Normal = 1, Seek = 2, AsFile = 3, AsFileOnly = 4 }</li>
+<li class=fn>virtual bool <a href="#newStreamCreated"><b>newStreamCreated</b></a> ( TQNPStream *, StreamMode&nbsp;&amp;&nbsp;smode )</li>
+<li class=fn>virtual int <a href="#writeReady"><b>writeReady</b></a> ( TQNPStream * )</li>
+<li class=fn>virtual int <a href="#write"><b>write</b></a> ( TQNPStream *, int&nbsp;offset, int&nbsp;len, void&nbsp;*&nbsp;buffer )</li>
+<li class=fn>virtual void <a href="#streamDestroyed"><b>streamDestroyed</b></a> ( TQNPStream * )</li>
+<li class=fn>void <a href="#status"><b>status</b></a> ( const&nbsp;char&nbsp;*&nbsp;msg )</li>
+<li class=fn>void <a href="#getURLNotify"><b>getURLNotify</b></a> ( const&nbsp;char&nbsp;*&nbsp;url, const&nbsp;char&nbsp;*&nbsp;window = 0, void&nbsp;*&nbsp;data = 0 )</li>
+<li class=fn>void <a href="#getURL"><b>getURL</b></a> ( const&nbsp;char&nbsp;*&nbsp;url, const&nbsp;char&nbsp;*&nbsp;window = 0 )</li>
+<li class=fn>void <a href="#postURL"><b>postURL</b></a> ( const&nbsp;char&nbsp;*&nbsp;url, const&nbsp;char&nbsp;*&nbsp;window, uint&nbsp;len, const&nbsp;char&nbsp;*&nbsp;buf, bool&nbsp;file )</li>
+<li class=fn>TQNPStream * <a href="#newStream"><b>newStream</b></a> ( const&nbsp;char&nbsp;*&nbsp;mimetype, const&nbsp;char&nbsp;*&nbsp;window, bool&nbsp;as_file = FALSE )</li>
+<li class=fn>virtual void <a href="#streamAsFile"><b>streamAsFile</b></a> ( TQNPStream *, const&nbsp;char&nbsp;*&nbsp;fname )</li>
+<li class=fn>void * <a href="#getJavaPeer"><b>getJavaPeer</b></a> () const</li>
+<li class=fn>virtual void <a href="#notifyURL"><b>notifyURL</b></a> ( const&nbsp;char&nbsp;*&nbsp;url, Reason&nbsp;r, void&nbsp;*&nbsp;notifyData )</li>
+<li class=fn>virtual bool <a href="#printFullPage"><b>printFullPage</b></a> ()</li>
+<li class=fn>virtual void <a href="#print"><b>print</b></a> ( TQPainter * )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn><a href="#TQNPInstance"><b>TQNPInstance</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 TQNPInstance class provides a <a href="qobject.html">TQObject</a> that is a web browser plugin.
+<p>
+<p> Deriving from TQNPInstance creates an object that represents a
+single <tt>&lt;EMBED&gt;</tt> tag in an HTML document.
+<p> The TQNPInstance is responsible for creating an appropriate
+<a href="qnpwidget.html">TQNPWidget</a> window if retquired (not all plugins have windows), and
+for interacting with the input/output facilities intrinsic to
+plugins.
+<p> Note that there is <em>absolutely no guarantee</em> regarding the order
+in which functions are called. Sometimes the browser will call
+<a href="#newWindow">newWindow</a>() first, at other times, <a href="#newStreamCreated">newStreamCreated</a>() will be
+called first (assuming the <tt>&lt;EMBED&gt;</tt> tag has a SRC parameter).
+<p> <em>None of TQt's GUI functionality</em> may be used until after the
+first call to newWindow(). This includes any use of <a href="qpaintdevice.html">TQPaintDevice</a>
+(i.e. <a href="qpixmap.html">TQPixmap</a>, <a href="qwidget.html">TQWidget</a>, and all subclasses), <a href="qapplication.html">TQApplication</a>, anything
+related to <a href="qpainter.html">TQPainter</a> (<a href="qbrush.html">TQBrush</a>, etc.), fonts, <a href="qmovie.html">TQMovie</a>, <a href="qtooltip.html">TQToolTip</a>, etc.
+Useful classes which specifically <em>can</em> be used are <a href="qimage.html">TQImage</a>,
+<a href="qfile.html">TQFile</a>, and <a href="qbuffer.html">TQBuffer</a>.
+<p> This restriction can easily be accommodated by structuring your
+plugin so that the task of the TQNPInstance is to gather data,
+while the task of the <a href="qnpwidget.html">TQNPWidget</a> is to provide a graphical
+interface to that data.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="InstanceMode-enum"></a>TQNPInstance::InstanceMode</h3>
+
+<p> This enum type provides TQt-style names for three #defines in
+<tt>npapi.h</tt>:
+<ul>
+<li><tt>TQNPInstance::Embed</tt> - corresponds to NP_EMBED
+<li><tt>TQNPInstance::Full</tt> - corresponds to NP_FULL
+<li><tt>TQNPInstance::Background</tt> - corresponds to NP_BACKGROUND
+</ul><p>
+<h3 class=fn><a name="Reason-enum"></a>TQNPInstance::Reason</h3>
+
+<ul>
+<li><tt>TQNPInstance::ReasonDone</tt>
+<li><tt>TQNPInstance::ReasonBreak</tt>
+<li><tt>TQNPInstance::ReasonError</tt>
+<li><tt>TQNPInstance::ReasonUnknown</tt>
+</ul>
+<h3 class=fn><a name="StreamMode-enum"></a>TQNPInstance::StreamMode</h3>
+
+<ul>
+<li><tt>TQNPInstance::Normal</tt>
+<li><tt>TQNPInstance::Seek</tt>
+<li><tt>TQNPInstance::AsFile</tt>
+<li><tt>TQNPInstance::AsFileOnly</tt>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="TQNPInstance"></a>TQNPInstance::TQNPInstance ()<tt> [protected]</tt>
+</h3>
+Creates a TQNPInstance.
+<p> Can only be called from within a derived class created within
+<a href="qnplugin.html#newInstance">TQNPlugin::newInstance</a>().
+
+<h3 class=fn><a name="~TQNPInstance"></a>TQNPInstance::~TQNPInstance ()
+</h3>
+Called when the plugin instance is about to be deleted.
+
+<h3 class=fn>const char * <a name="arg"></a>TQNPInstance::arg ( const&nbsp;char&nbsp;*&nbsp;name ) const
+</h3>
+Returns the value of the named arguments, or 0 if no argument
+called <em>name</em> appears in the <tt>&lt;EMBED&gt;</tt> tag of this instance.
+If the argument appears, but has no value assigned, the empty
+string is returned. In summary:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Tag <th valign="top">Result
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;EMBED ...&gt;</tt> <td valign="top">arg("FOO") == 0
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;EMBED FOO ...&gt;</tt> <td valign="top">arg("FOO") == ""
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;EMBED FOO=BAR ...&gt;</tt> <td valign="top">arg("FOO") == "BAR"
+</table></center>
+
+<h3 class=fn>int <a name="argc"></a>TQNPInstance::argc () const
+</h3>
+Returns the number of arguments to the instance. Note that you
+should not normally rely on the ordering of arguments, and
+note that the SGML specification does not permit multiple
+arguments with the same name.
+<p> <p>See also <a href="#arg">arg</a>() and <a href="#argn">argn</a>().
+
+<h3 class=fn>const char * <a name="argn"></a>TQNPInstance::argn ( int&nbsp;i ) const
+</h3>
+Returns the name of the <em>i</em>-th argument.
+<p> <p>See also <a href="#argc">argc</a>() and <a href="#argv">argv</a>().
+
+<h3 class=fn>const char * <a name="argv"></a>TQNPInstance::argv ( int&nbsp;i ) const
+</h3>
+Returns the value of the <em>i</em>-th argument.
+<p> \as <a href="#argc">argc</a>(), <a href="#arg">arg</a>()
+
+<h3 class=fn>void * <a name="getJavaPeer"></a>TQNPInstance::getJavaPeer () const
+</h3>
+Returns the Java object associated with the plugin instance, an
+object of the <a href="qnplugin.html#getJavaClass">plugin's Java
+ class</a>, or 0 if the plug-in does not have a Java class,
+Java is disabled, or an error occurred.
+<p> The return value is actually a <tt>jref</tt> we use <tt>void*</tt> so as to
+avoid burdening plugins which do not retquire Java.
+<p> <p>See also <a href="qnplugin.html#getJavaClass">TQNPlugin::getJavaClass</a>() and <a href="qnplugin.html#getJavaEnv">TQNPlugin::getJavaEnv</a>().
+
+<h3 class=fn>void <a name="getURL"></a>TQNPInstance::getURL ( const&nbsp;char&nbsp;*&nbsp;url, const&nbsp;char&nbsp;*&nbsp;window = 0 )
+</h3>
+Requests that the <em>url</em> be retrieved and sent to the named <em>window</em>. See <a href="netscape-plugin.html#Netscape">Netscape</a>'s JavaScript documentation for an explanation
+of window names.
+
+<h3 class=fn>void <a name="getURLNotify"></a>TQNPInstance::getURLNotify ( const&nbsp;char&nbsp;*&nbsp;url, const&nbsp;char&nbsp;*&nbsp;window = 0, void&nbsp;*&nbsp;data = 0 )
+</h3>
+Requests that the given <em>url</em> be retrieved and sent to
+the named <em>window</em>. See <a href="netscape-plugin.html#Netscape">Netscape</a>'s JavaScript documentation for
+an explanation of window names. Passes the arguments including <em>data</em> to NPN_GetURLNotify.
+<p>
+<a href="http://developer.netscape.com/docs/manuals/communicator/plugin/refpgur.htm#npngeturlnotify">Netscape: NPN_GetURLNotify method</a>
+
+<h3 class=fn><a href="qnpinstance.html#InstanceMode-enum">InstanceMode</a> <a name="mode"></a>TQNPInstance::mode () const
+</h3>
+Returns the mode of the plugin.
+
+<h3 class=fn><a href="qnpstream.html">TQNPStream</a>&nbsp;* <a name="newStream"></a>TQNPInstance::newStream ( const&nbsp;char&nbsp;*&nbsp;mimetype, const&nbsp;char&nbsp;*&nbsp;window, bool&nbsp;as_file = FALSE )
+</h3>
+<p><b>This function is under development and is subject to change.</b>
+<p> This function is <em>not tested</em>.
+<p> Requests the creation of a new data stream <em>from</em> the plugin.
+The MIME type and window are passed in <em>mimetype</em> and <em>window</em>.
+<em>as_file</em> holds the <a href="#StreamMode-enum">AsFileOnly</a> flag. It is an interface to the
+NPN_NewStream function of the <a href="netscape-plugin.html#Netscape">Netscape</a> Plugin API.
+
+<h3 class=fn>bool <a name="newStreamCreated"></a>TQNPInstance::newStreamCreated ( <a href="qnpstream.html">TQNPStream</a>&nbsp;*, <a href="qnpinstance.html#StreamMode-enum">StreamMode</a>&nbsp;&amp;&nbsp;smode )<tt> [virtual]</tt>
+</h3>
+
+<p> This function is called when a new stream has been created. The
+instance should return TRUE if it accepts the processing of the
+stream. If the instance retquires the stream as a file, it should
+set <em>smode</em> to <a href="#StreamMode-enum">AsFileOnly</a>, in which case the data will be
+delivered some time later to the <a href="#streamAsFile">streamAsFile</a>() function.
+Otherwise, the data will be delivered in chunks to the <a href="#write">write</a>()
+function, which must consume at least as much data as returned
+by the most recent call to <a href="#writeReady">writeReady</a>().
+<p> Note that the <a href="#StreamMode-enum">AsFileOnly</a> method is not supported by <a href="netscape-plugin.html#Netscape">Netscape</a>
+2.0 and MSIE 3.0.
+<p> The default implementation accepts any stream.
+
+<h3 class=fn><a href="qnpwidget.html">TQNPWidget</a>&nbsp;* <a name="newWindow"></a>TQNPInstance::newWindow ()<tt> [virtual]</tt>
+</h3>
+Called at most once, at some time after the TQNPInstance is
+created. If the plugin retquires a window, this function should
+return a derived class of <a href="qnpwidget.html">TQNPWidget</a> that provides the retquired
+interface.
+
+<p>Example: <a href="grapher-nsplugin-example.html#x2751">grapher/grapher.cpp</a>.
+<h3 class=fn>void <a name="notifyURL"></a>TQNPInstance::notifyURL ( const&nbsp;char&nbsp;*&nbsp;url, <a href="qnpinstance.html#Reason-enum">Reason</a>&nbsp;r, void&nbsp;*&nbsp;notifyData )<tt> [virtual]</tt>
+</h3>
+<p><b>This function is under development and is subject to change.</b>
+<p> This function is <em>not tested</em>.
+<p> Called whenever a <em>url</em> is notified after a call to
+NPN_GetURLNotify with <em>notifyData</em>. The reason is given in <em>r</em>.
+<p> It is an encapsulation of the NPP_URLNotify function of the
+<a href="netscape-plugin.html#Netscape">Netscape</a> Plugin API.
+<p> See also:
+<a href="http://developer.netscape.com/docs/manuals/communicator/plugin/refpgur.htm#nppurlnotify">Netscape: NPP_URLNotify method</a>
+
+<h3 class=fn>void <a name="postURL"></a>TQNPInstance::postURL ( const&nbsp;char&nbsp;*&nbsp;url, const&nbsp;char&nbsp;*&nbsp;window, uint&nbsp;len, const&nbsp;char&nbsp;*&nbsp;buf, bool&nbsp;file )
+</h3>
+<p><b>This function is under development and is subject to change.</b>
+<p> This function is <em>not tested</em>.
+<p> It is an interface to the NPN_PostURL function of the <a href="netscape-plugin.html#Netscape">Netscape</a>
+Plugin API.
+<p> Passes <em>url</em>, <em>window</em>, <em>buf</em>, <em>len</em>, and <em>file</em> to
+NPN_PostURL.
+
+<h3 class=fn>void <a name="print"></a>TQNPInstance::print ( <a href="qpainter.html">TQPainter</a>&nbsp;* )<tt> [virtual]</tt>
+</h3>
+<p><b>This function is under development and is subject to change.</b>
+<p> This function is <em>not tested</em>.
+<p> Print the instance embedded in a page.
+<p> It is an encapsulation of the NPP_Print function of the <a href="netscape-plugin.html#Netscape">Netscape</a>
+Plugin API.
+
+<h3 class=fn>bool <a name="printFullPage"></a>TQNPInstance::printFullPage ()<tt> [virtual]</tt>
+</h3>
+<p><b>This function is under development and is subject to change.</b>
+<p> This function is <em>not tested</em>.
+<p> It is an encapsulation of the NPP_Print function of the <a href="netscape-plugin.html#Netscape">Netscape</a>
+Plugin API.
+
+<h3 class=fn>void <a name="status"></a>TQNPInstance::status ( const&nbsp;char&nbsp;*&nbsp;msg )
+</h3>
+Sets the status message in the browser containing this instance to
+<em>msg</em>.
+
+<h3 class=fn>void <a name="streamAsFile"></a>TQNPInstance::streamAsFile ( <a href="qnpstream.html">TQNPStream</a>&nbsp;*, const&nbsp;char&nbsp;*&nbsp;fname )<tt> [virtual]</tt>
+</h3>
+Called when a stream is delivered as a single file called <em>fname</em>
+rather than as chunks. This may be simpler for a plugin to deal
+with, but precludes any incremental behavior.
+<p> Note that the <a href="#StreamMode-enum">AsFileOnly</a> method is not supported by <a href="netscape-plugin.html#Netscape">Netscape</a>
+2.0 and MSIE 3.0.
+<p> <p>See also <a href="#newStreamCreated">newStreamCreated</a>() and <a href="#newStream">newStream</a>().
+
+<h3 class=fn>void <a name="streamDestroyed"></a>TQNPInstance::streamDestroyed ( <a href="qnpstream.html">TQNPStream</a>&nbsp;* )<tt> [virtual]</tt>
+</h3>
+Called when a stream is destroyed. At this point, the stream may
+be complete() and okay(). If it is not okay(), then an error has
+occurred. If it is okay(), but not complete(), then the user has
+cancelled the transmission; do not give an error message in this
+case.
+
+<h3 class=fn>const char * <a name="userAgent"></a>TQNPInstance::userAgent () const
+</h3>
+Returns the user agent (browser name) containing this instance.
+
+<h3 class=fn><a href="qnpwidget.html">TQNPWidget</a>&nbsp;* <a name="widget"></a>TQNPInstance::widget ()
+</h3>
+Returns the plugin window created by <a href="#newWindow">newWindow</a>(), if any.
+
+<h3 class=fn>int <a name="write"></a>TQNPInstance::write ( <a href="qnpstream.html">TQNPStream</a>&nbsp;*, int&nbsp;offset, int&nbsp;len, void&nbsp;*&nbsp;buffer )<tt> [virtual]</tt>
+</h3>
+
+<p> Called when incoming data is available for processing by the
+instance. The instance <em>must</em> consume at least the amount that it
+returned in the most recent call to <a href="#writeReady">writeReady</a>(), but it may
+consume up to the amount given by <em>len</em>. <em>buffer</em> is the data
+available for consumption. The <em>offset</em> argument is merely an
+informational value indicating the total amount of data that has
+been consumed in prior calls.
+<p> This function should return the amount of data actually consumed.
+
+<p>Example: <a href="grapher-nsplugin-example.html#x2752">grapher/grapher.cpp</a>.
+<h3 class=fn>int <a name="writeReady"></a>TQNPInstance::writeReady ( <a href="qnpstream.html">TQNPStream</a>&nbsp;* )<tt> [virtual]</tt>
+</h3>
+Returns the minimum amount of data the instance is willing to
+receive from the given stream.
+<p> The default returns a very large value.
+
+<!-- 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>