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
  
     | 
    
      <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qscriptextensionplugin.cpp -->
  <title>Qt 4.8: QScriptExtensionPlugin Class Reference</title>
  <link rel="stylesheet" type="text/css" href="style/offline.css" />
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="content"> 
    <a href="index.html" class="qtref"><span>Qt Reference Documentation</span></a>
  </div>
  <div class="breadcrumb toolblock">
    <ul>
      <li class="first"><a href="index.html">Home</a></li>
      <!--  Breadcrumbs go here -->
<li><a href="modules.html">Modules</a></li>
<li><a href="qtscript.html">QtScript</a></li>
<li>QScriptExtensionPlugin</li>
    </ul>
  </div>
</div>
<div class="content mainContent">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
</ul>
</div>
<h1 class="title">QScriptExtensionPlugin Class Reference</h1>
<!-- $$$QScriptExtensionPlugin-brief -->
<p>The QScriptExtensionPlugin class provides an abstract base for custom QScript extension plugins. <a href="#details">More...</a></p>
<!-- @@@QScriptExtensionPlugin -->
<pre class="cpp"> <span class="preprocessor">#include <QScriptExtensionPlugin></span></pre><p><b>Inherits: </b><a href="qobject.html">QObject</a>.</p>
<p>This class was introduced in Qt 4.3.</p>
<ul>
<li><a href="qscriptextensionplugin-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="public-functions"></a>
<h2>Public Functions</h2>
<table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qscriptextensionplugin.html#QScriptExtensionPlugin">QScriptExtensionPlugin</a></b> ( QObject * <i>parent</i> = 0 )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qscriptextensionplugin.html#dtor.QScriptExtensionPlugin">~QScriptExtensionPlugin</a></b> ()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QScriptValue </td><td class="memItemRight bottomAlign"><b><a href="qscriptextensionplugin.html#setupPackage">setupPackage</a></b> ( const QString & <i>key</i>, QScriptEngine * <i>engine</i> ) const</td></tr>
</table>
<a name="reimplemented-public-functions"></a>
<h2>Reimplemented Public Functions</h2>
<table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qscriptextensionplugin.html#initialize">initialize</a></b> ( const QString & <i>key</i>, QScriptEngine * <i>engine</i> ) = 0</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QStringList </td><td class="memItemRight bottomAlign"><b><a href="qscriptextensionplugin.html#keys">keys</a></b> () const = 0</td></tr>
</table>
<ul>
<li class="fn">29 public functions inherited from <a href="qobject.html#public-functions">QObject</a></li>
</ul>
<h3>Additional Inherited Members</h3>
<ul>
<li class="fn">1 property inherited from <a href="qobject.html#properties">QObject</a></li>
<li class="fn">1 public slot inherited from <a href="qobject.html#public-slots">QObject</a></li>
<li class="fn">1 signal inherited from <a href="qobject.html#signals">QObject</a></li>
<li class="fn">7 static public members inherited from <a href="qobject.html#static-public-members">QObject</a></li>
<li class="fn">8 protected functions inherited from <a href="qobject.html#protected-functions">QObject</a></li>
</ul>
<a name="details"></a>
<!-- $$$QScriptExtensionPlugin-description -->
<div class="descr">
<h2>Detailed Description</h2>
<p>The QScriptExtensionPlugin class provides an abstract base for custom QScript extension plugins.</p>
<p>QScriptExtensionPlugin is a plugin interface that makes it possible to offer extensions that can be loaded dynamically into applications using the <a href="qscriptengine.html">QScriptEngine</a> class.</p>
<p>Writing a script extension plugin is achieved by subclassing this base class, reimplementing the pure virtual <a href="qscriptextensionplugin.html#keys">keys</a>() and <a href="qscriptextensionplugin.html#initialize">initialize</a>() functions, and exporting the class using the <a href="qtplugin.html#Q_EXPORT_PLUGIN2">Q_EXPORT_PLUGIN2</a>() macro. See <a href="plugins-howto.html">How to Create Qt Plugins</a> for details.</p>
</div>
<p><b>See also </b><a href="qscriptengine.html#importExtension">QScriptEngine::importExtension</a>() and <a href="qtscriptextensions.html">Creating QtScript Extensions</a>.</p>
<!-- @@@QScriptExtensionPlugin -->
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$QScriptExtensionPlugin[overload1]$$$QScriptExtensionPluginQObject* -->
<h3 class="fn"><a name="QScriptExtensionPlugin"></a>QScriptExtensionPlugin::<span class="name">QScriptExtensionPlugin</span> ( <span class="type"><a href="qobject.html">QObject</a></span> * <i>parent</i> = 0 )</h3>
<p>Constructs a script extension plugin with the given <i>parent</i>.</p>
<p>Note that this constructor is invoked automatically by the <a href="qtplugin.html#Q_EXPORT_PLUGIN2">Q_EXPORT_PLUGIN2</a>() macro, so there is no need for calling it explicitly.</p>
<!-- @@@QScriptExtensionPlugin -->
<!-- $$$~QScriptExtensionPlugin[overload1]$$$~QScriptExtensionPlugin -->
<h3 class="fn"><a name="dtor.QScriptExtensionPlugin"></a>QScriptExtensionPlugin::<span class="name">~QScriptExtensionPlugin</span> ()</h3>
<p>Destroys the script extension plugin.</p>
<p>Note that Qt destroys a plugin automatically when it is no longer used, so there is no need for calling the destructor explicitly.</p>
<!-- @@@~QScriptExtensionPlugin -->
<!-- $$$initialize[overload1]$$$initializeconstQString&QScriptEngine* -->
<h3 class="fn"><a name="initialize"></a><span class="type">void</span> QScriptExtensionPlugin::<span class="name">initialize</span> ( const <span class="type"><a href="qstring.html">QString</a></span> & <i>key</i>, <span class="type"><a href="qscriptengine.html">QScriptEngine</a></span> * <i>engine</i> )<tt> [pure virtual]</tt></h3>
<p>Initializes the extension specified by <i>key</i> in the given <i>engine</i>. The key must come from the set of <a href="qscriptextensionplugin.html#keys">keys</a>().</p>
<p><b>See also </b><a href="qscriptextensionplugin.html#keys">keys</a>().</p>
<!-- @@@initialize -->
<!-- $$$keys[overload1]$$$keys -->
<h3 class="fn"><a name="keys"></a><span class="type"><a href="qstringlist.html">QStringList</a></span> QScriptExtensionPlugin::<span class="name">keys</span> () const<tt> [pure virtual]</tt></h3>
<p>Returns the list of keys this plugin supports.</p>
<p>These keys are usually the names of the "modules" or "packages" that are implemented in the plugin (e.g. <tt>com.mycompany.MyProduct</tt>).</p>
<p><b>See also </b><a href="qscriptextensionplugin.html#initialize">initialize</a>().</p>
<!-- @@@keys -->
<!-- $$$setupPackage[overload1]$$$setupPackageconstQString&QScriptEngine* -->
<h3 class="fn"><a name="setupPackage"></a><span class="type"><a href="qscriptvalue.html">QScriptValue</a></span> QScriptExtensionPlugin::<span class="name">setupPackage</span> ( const <span class="type"><a href="qstring.html">QString</a></span> & <i>key</i>, <span class="type"><a href="qscriptengine.html">QScriptEngine</a></span> * <i>engine</i> ) const</h3>
<p>This function is provided for convenience when reimplementing <a href="qscriptextensionplugin.html#initialize">initialize</a>(). It splits the given <i>key</i> on <tt>'.'</tt> (dot), and ensures that there's a corresponding path of objects in the environment of the given <i>engine</i>, creating new objects to complete the path if necessary. E.g. if the key is "com.trolltech", after the call to setupPackage() the script expression <tt>com.trolltech</tt> will evaluate to an object. More specifically, the engine's Global Object will have a property called "com", which in turn has a property called "trolltech".</p>
<p>Use this function to avoid global namespace pollution when installing your extensions in the engine.</p>
<p><b>See also </b><a href="qscriptextensionplugin.html#initialize">initialize</a>().</p>
<!-- @@@setupPackage -->
</div>
  <div class="ft">
    <span></span>
  </div>
</div> 
<div class="footer">
    <p>
      <acronym title="Copyright">©</acronym> 2012 Nokia Corporation and/or its
      subsidiaries. Documentation contributions included herein are the copyrights of
      their respective owners.</p>
    <br />
    <p>
      The documentation provided herein is licensed under the terms of the
      <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation
      License version 1.3</a> as published by the Free Software Foundation.</p>
    <p>
      Documentation sources may be obtained from <a href="http://www.qt-project.org">
      www.qt-project.org</a>.</p>
    <br />
    <p>
      Nokia, Qt and their respective logos are trademarks of Nokia Corporation 
      in Finland and/or other countries worldwide. All other trademarks are property
      of their respective owners. <a title="Privacy Policy"
      href="http://en.gitorious.org/privacy_policy/">Privacy Policy</a></p>
</div>
</body>
</html>
 
     |