1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
<title>TotemPlugin</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7
<link rel="home" href="index.html" title="Totem Reference Manual">
8
<link rel="up" href="core-api.html" title="Core API">
9
<link rel="prev" href="totem-Interface.html" title="Interface">
10
<link rel="next" href="BaconVideoWidget.html" title="BaconVideoWidget">
11
<meta name="generator" content="GTK-Doc V1.17.1 (XML mode)">
12
<link rel="stylesheet" href="style.css" type="text/css">
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17
<td><a accesskey="p" href="totem-Interface.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
<td><a accesskey="u" href="core-api.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20
<th width="100%" align="center">Totem Reference Manual</th>
21
<td><a accesskey="n" href="BaconVideoWidget.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23
<tr><td colspan="5" class="shortcuts">
24
<a href="#totem-TotemPlugin.synopsis" class="shortcut">Top</a>
26
<a href="#totem-TotemPlugin.description" class="shortcut">Description</a>
29
<div class="refentry">
30
<a name="totem-TotemPlugin"></a><div class="titlepage"></div>
31
<div class="refnamediv"><table width="100%"><tr>
33
<h2><span class="refentrytitle"><a name="totem-TotemPlugin.top_of_page"></a>TotemPlugin</span></h2>
34
<p>TotemPlugin — base plugin class and loading/unloading functions</p>
36
<td valign="top" align="right"></td>
38
<div class="refsect1">
39
<a name="totem-TotemPlugin.stability-level"></a><h2>Stability Level</h2>
40
Unstable, unless otherwise indicated
42
<div class="refsynopsisdiv">
43
<a name="totem-TotemPlugin.synopsis"></a><h2>Synopsis</h2>
44
<pre class="synopsis">
45
#include <totem-plugin.h>
47
#define <a class="link" href="totem-TotemPlugin.html#TOTEM-PLUGIN-REGISTER:CAPS" title="TOTEM_PLUGIN_REGISTER()">TOTEM_PLUGIN_REGISTER</a> (TYPE_NAME,
50
#define <a class="link" href="totem-TotemPlugin.html#TOTEM-PLUGIN-REGISTER-CONFIGURABLE:CAPS" title="TOTEM_PLUGIN_REGISTER_CONFIGURABLE()">TOTEM_PLUGIN_REGISTER_CONFIGURABLE</a> (TYPE_NAME,
53
<span class="returnvalue">char</span> * <a class="link" href="totem-TotemPlugin.html#totem-plugin-find-file" title="totem_plugin_find_file ()">totem_plugin_find_file</a> (<em class="parameter"><code>const <span class="type">char</span> *plugin_name</code></em>,
54
<em class="parameter"><code>const <span class="type">char</span> *file</code></em>);
55
<a href="http://library.gnome.org/devel/gtk/GtkBuilder.html"><span class="returnvalue">GtkBuilder</span></a> * <a class="link" href="totem-TotemPlugin.html#totem-plugin-load-interface" title="totem_plugin_load_interface ()">totem_plugin_load_interface</a> (<em class="parameter"><code>const <span class="type">char</span> *plugin_name</code></em>,
56
<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
57
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> fatal</code></em>,
58
<em class="parameter"><code><a href="http://library.gnome.org/devel/gtk/GtkWindow.html"><span class="type">GtkWindow</span></a> *parent</code></em>,
59
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
60
<span class="returnvalue">char</span> ** <a class="link" href="totem-TotemPlugin.html#totem-get-plugin-paths" title="totem_get_plugin_paths ()">totem_get_plugin_paths</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
63
<div class="refsect1">
64
<a name="totem-TotemPlugin.description"></a><h2>Description</h2>
66
<span class="type">TotemPlugin</span> is a general-purpose architecture for adding plugins to Totem, with
67
derived support for different programming languages.
70
<div class="refsect1">
71
<a name="totem-TotemPlugin.details"></a><h2>Details</h2>
72
<div class="refsect2">
73
<a name="TOTEM-PLUGIN-REGISTER:CAPS"></a><h3>TOTEM_PLUGIN_REGISTER()</h3>
74
<pre class="programlisting">#define TOTEM_PLUGIN_REGISTER(TYPE_NAME, TypeName, type_name)</pre>
76
Registers a plugin with the Totem plugin system, including registering the type specified in the parameters and declaring its activate and
79
<div class="variablelist"><table border="0">
80
<col align="left" valign="top">
83
<td><p><span class="term"><em class="parameter"><code>TYPE_NAME</code></em> :</span></p></td>
84
<td>the name of the plugin type, in UPPER_CASE</td>
87
<td><p><span class="term"><em class="parameter"><code>TypeName</code></em> :</span></p></td>
88
<td>the name of the plugin type, in CamelCase</td>
91
<td><p><span class="term"><em class="parameter"><code>type_name</code></em> :</span></p></td>
92
<td>the name of the plugin type, in lower_case</td>
98
<div class="refsect2">
99
<a name="TOTEM-PLUGIN-REGISTER-CONFIGURABLE:CAPS"></a><h3>TOTEM_PLUGIN_REGISTER_CONFIGURABLE()</h3>
100
<pre class="programlisting">#define TOTEM_PLUGIN_REGISTER_CONFIGURABLE(TYPE_NAME, TypeName, type_name)</pre>
102
Registers a configurable plugin with the Totem plugin system, including registering the type specified in the parameters and declaring its activate
103
and deactivate and widget creation functions.
105
<div class="variablelist"><table border="0">
106
<col align="left" valign="top">
109
<td><p><span class="term"><em class="parameter"><code>TYPE_NAME</code></em> :</span></p></td>
110
<td>the name of the plugin type, in UPPER_CASE</td>
113
<td><p><span class="term"><em class="parameter"><code>TypeName</code></em> :</span></p></td>
114
<td>the name of the plugin type, in CamelCase</td>
117
<td><p><span class="term"><em class="parameter"><code>type_name</code></em> :</span></p></td>
118
<td>the name of the plugin type, in lower_case</td>
124
<div class="refsect2">
125
<a name="totem-plugin-find-file"></a><h3>totem_plugin_find_file ()</h3>
126
<pre class="programlisting"><span class="returnvalue">char</span> * totem_plugin_find_file (<em class="parameter"><code>const <span class="type">char</span> *plugin_name</code></em>,
127
<em class="parameter"><code>const <span class="type">char</span> *file</code></em>);</pre>
129
Finds the specified <em class="parameter"><code>file</code></em> by looking in the plugin paths
130
listed by <a class="link" href="totem-TotemPlugin.html#totem-get-plugin-paths" title="totem_get_plugin_paths ()"><code class="function">totem_get_plugin_paths()</code></a> and then in the system
131
Totem data directory.
134
This should be used by plugins to find plugin-specific
137
<div class="variablelist"><table border="0">
138
<col align="left" valign="top">
141
<td><p><span class="term"><em class="parameter"><code>plugin_name</code></em> :</span></p></td>
142
<td>the plugin name</td>
145
<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td>
146
<td>the file to find</td>
149
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
150
<td>a newly-allocated absolute path for the file, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
157
<div class="refsect2">
158
<a name="totem-plugin-load-interface"></a><h3>totem_plugin_load_interface ()</h3>
159
<pre class="programlisting"><a href="http://library.gnome.org/devel/gtk/GtkBuilder.html"><span class="returnvalue">GtkBuilder</span></a> * totem_plugin_load_interface (<em class="parameter"><code>const <span class="type">char</span> *plugin_name</code></em>,
160
<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
161
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> fatal</code></em>,
162
<em class="parameter"><code><a href="http://library.gnome.org/devel/gtk/GtkWindow.html"><span class="type">GtkWindow</span></a> *parent</code></em>,
163
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
165
Loads an interface file (GtkBuilder UI file) for a plugin, given its filename and
166
assuming it's installed in the plugin's data directory.
169
This should be used instead of attempting to load interfaces manually in plugins.
171
<div class="variablelist"><table border="0">
172
<col align="left" valign="top">
175
<td><p><span class="term"><em class="parameter"><code>plugin_name</code></em> :</span></p></td>
176
<td>the plugin name</td>
179
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
180
<td>interface filename</td>
183
<td><p><span class="term"><em class="parameter"><code>fatal</code></em> :</span></p></td>
185
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it's a fatal error if the interface can't be loaded</td>
188
<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
189
<td>the interface's parent <a href="http://library.gnome.org/devel/gtk/GtkWindow.html"><span class="type">GtkWindow</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
193
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
194
<td>a pointer to be passed to each signal handler in the interface when they're called. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
198
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
199
<td>the <a href="http://library.gnome.org/devel/gtk/GtkBuilder.html"><span class="type">GtkBuilder</span></a> instance for the interface. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
206
<div class="refsect2">
207
<a name="totem-get-plugin-paths"></a><h3>totem_get_plugin_paths ()</h3>
208
<pre class="programlisting"><span class="returnvalue">char</span> ** totem_get_plugin_paths (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
210
Return a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of paths to directories which can contain Totem plugins. This respects the GSettings disable_user_plugins setting.
212
<div class="variablelist"><table border="0">
213
<col align="left" valign="top">
215
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
216
<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of paths to plugin directories. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
220
<p class="since">Since 2.90.0</p>
226
Generated by GTK-Doc V1.17.1</div>
b'\\ No newline at end of file'