38
38
<div class="refsynopsisdiv">
39
39
<a name="libpeas-PeasExtension.synopsis"></a><h2>Synopsis</h2>
40
40
<pre class="synopsis">typedef <a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension">PeasExtension</a>;
41
<span class="returnvalue">GType</span> <a class="link" href="libpeas-PeasExtension.html#peas-extension-get-extension-type" title="peas_extension_get_extension_type ()">peas_extension_get_extension_type</a> (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>);
42
<span class="returnvalue">gboolean</span> <a class="link" href="libpeas-PeasExtension.html#peas-extension-call" title="peas_extension_call ()">peas_extension_call</a> (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>,
43
<em class="parameter"><code>const <span class="type">gchar</span> *method_name</code></em>,
41
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="libpeas-PeasExtension.html#peas-extension-get-extension-type" title="peas_extension_get_extension_type ()">peas_extension_get_extension_type</a> (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>);
42
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libpeas-PeasExtension.html#peas-extension-call" title="peas_extension_call ()">peas_extension_call</a> (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>,
43
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *method_name</code></em>,
44
44
<em class="parameter"><code>...</code></em>);
45
<span class="returnvalue">gboolean</span> <a class="link" href="libpeas-PeasExtension.html#peas-extension-call-valist" title="peas_extension_call_valist ()">peas_extension_call_valist</a> (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>,
46
<em class="parameter"><code>const <span class="type">gchar</span> *method_name</code></em>,
45
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libpeas-PeasExtension.html#peas-extension-call-valist" title="peas_extension_call_valist ()">peas_extension_call_valist</a> (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>,
46
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *method_name</code></em>,
47
47
<em class="parameter"><code><span class="type">va_list</span> args</code></em>);
48
<span class="returnvalue">gboolean</span> <a class="link" href="libpeas-PeasExtension.html#peas-extension-callv" title="peas_extension_callv ()">peas_extension_callv</a> (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>,
49
<em class="parameter"><code>const <span class="type">gchar</span> *method_name</code></em>,
48
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libpeas-PeasExtension.html#peas-extension-callv" title="peas_extension_callv ()">peas_extension_callv</a> (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>,
49
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *method_name</code></em>,
50
50
<em class="parameter"><code><span class="type">GIArgument</span> *args</code></em>,
51
51
<em class="parameter"><code><span class="type">GIArgument</span> *return_value</code></em>);
63
63
To properly use the proxy instances, you will need GObject-introspection
64
data for the <span class="type">GInterface</span> or <span class="type">GObjectClass</span> you want to use as an extension
64
data for the <span class="type">GInterface</span> or <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a> you want to use as an extension
65
65
point. For instance, if you wish to use <a class="link" href="PeasActivatable.html" title="PeasActivatable"><span class="type">PeasActivatable</span></a>, you will need to
66
66
put the following code excerpt in the engine initialization code, in order
67
67
to load the required "Peas" typelib:
75
75
<td class="listing_lines" align="right"><pre>1
77
<td class="listing_code"><pre class="programlisting"><span class="function">g_irepository_require</span><span class="normal"> </span><span class="symbol">(</span><span class="function">g_irepository_get_default</span><span class="normal"> </span><span class="symbol">(),</span>
78
<span class="normal"> </span><span class="string">"Peas"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"1.0"</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">);</span></pre></td>
77
<td class="listing_code"><pre class="programlisting"><span class="function"><a href="/opt/gnome/share/gtk-doc/html/gi/gi-girepository.html#g-irepository-require">g_irepository_require</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="/opt/gnome/share/gtk-doc/html/gi/gi-girepository.html#g-irepository-get-default">g_irepository_get_default</a></span><span class="normal"> </span><span class="symbol">(),</span>
78
<span class="normal"> </span><span class="string">"Peas"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"1.0"</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span></pre></td>
114
114
<div class="refsect2">
115
115
<a name="peas-extension-get-extension-type"></a><h3>peas_extension_get_extension_type ()</h3>
116
<pre class="programlisting"><span class="returnvalue">GType</span> peas_extension_get_extension_type (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>);</pre>
116
<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> peas_extension_get_extension_type (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>);</pre>
117
117
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
118
118
<h3 class="title">Warning</h3>
119
119
<p><code class="literal">peas_extension_get_extension_type</code> is deprecated and should not be used in newly-written code. 1.2.</p>
139
139
<div class="refsect2">
140
140
<a name="peas-extension-call"></a><h3>peas_extension_call ()</h3>
141
<pre class="programlisting"><span class="returnvalue">gboolean</span> peas_extension_call (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>,
142
<em class="parameter"><code>const <span class="type">gchar</span> *method_name</code></em>,
141
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> peas_extension_call (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>,
142
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *method_name</code></em>,
143
143
<em class="parameter"><code>...</code></em>);</pre>
144
144
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
145
145
<h3 class="title">Warning</h3>
152
152
The arguments provided to this functions should be of the same type as
153
those defined in the <span class="type">GInterface</span> or <span class="type">GObjectClass</span> used as a base for the
153
those defined in the <span class="type">GInterface</span> or <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a> used as a base for the
154
154
proxied extension. They should be provided in the same order, and if its
155
155
return type is not void, then a pointer to a variable of that type should
156
156
be passed as the last argument.
165
165
<td class="listing_lines" align="right"><pre>1</pre></td>
166
<td class="listing_code"><pre class="programlisting"><span class="function">gint</span><span class="normal"> </span><span class="symbol">(*</span><span class="normal">my_method</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">MyClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">instance</span><span class="symbol">,</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">str</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">SomeObject</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">obj</span><span class="symbol">);</span></pre></td>
166
<td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint">gint</a></span><span class="normal"> </span><span class="symbol">(*</span><span class="normal">my_method</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">MyClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">instance</span><span class="symbol">,</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">str</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">SomeObject</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">obj</span><span class="symbol">);</span></pre></td>
189
189
This function will not do anything if the introspection data for the proxied
190
object's class has not been loaded previously through <code class="function">g_irepository_require()</code>.
190
object's class has not been loaded previously through <a href="/opt/gnome/share/gtk-doc/html/gi/gi-girepository.html#g-irepository-require"><code class="function">g_irepository_require()</code></a>.
192
192
<div class="variablelist"><table border="0">
193
193
<col align="left" valign="top">
216
216
<div class="refsect2">
217
217
<a name="peas-extension-call-valist"></a><h3>peas_extension_call_valist ()</h3>
218
<pre class="programlisting"><span class="returnvalue">gboolean</span> peas_extension_call_valist (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>,
219
<em class="parameter"><code>const <span class="type">gchar</span> *method_name</code></em>,
218
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> peas_extension_call_valist (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>,
219
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *method_name</code></em>,
220
220
<em class="parameter"><code><span class="type">va_list</span> args</code></em>);</pre>
221
221
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
222
222
<h3 class="title">Warning</h3>
255
255
<div class="refsect2">
256
256
<a name="peas-extension-callv"></a><h3>peas_extension_callv ()</h3>
257
<pre class="programlisting"><span class="returnvalue">gboolean</span> peas_extension_callv (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>,
258
<em class="parameter"><code>const <span class="type">gchar</span> *method_name</code></em>,
257
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> peas_extension_callv (<em class="parameter"><code><a class="link" href="libpeas-PeasExtension.html#PeasExtension" title="PeasExtension"><span class="type">PeasExtension</span></a> *exten</code></em>,
258
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *method_name</code></em>,
259
259
<em class="parameter"><code><span class="type">GIArgument</span> *args</code></em>,
260
260
<em class="parameter"><code><span class="type">GIArgument</span> *return_value</code></em>);</pre>
261
261
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">