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
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EExtension</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="Evolution-Data-Server Manual: Backend Utilities (libebackend)">
<link rel="up" href="ch01.html" title="Evolution-Data-Server Manual: Backend Utilities (libebackend)">
<link rel="prev" href="EExtensible.html" title="EExtensible">
<link rel="next" href="EModule.html" title="EModule">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="EExtensible.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">Evolution-Data-Server Manual: Backend Utilities (libebackend)</th>
<td><a accesskey="n" href="EModule.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#EExtension.synopsis" class="shortcut">Top</a>
|
<a href="#EExtension.description" class="shortcut">Description</a>
|
<a href="#EExtension.object-hierarchy" class="shortcut">Object Hierarchy</a>
|
<a href="#EExtension.properties" class="shortcut">Properties</a>
</td></tr>
</table>
<div class="refentry">
<a name="EExtension"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="EExtension.top_of_page"></a>EExtension</span></h2>
<p>EExtension — abstract base class for extensions</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="EExtension.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include <libebackend/e-extension.h>
struct <a class="link" href="EExtension.html#EExtension-struct" title="struct EExtension">EExtension</a>;
<a class="link" href="EExtensible.html" title="EExtensible"><span class="returnvalue">EExtensible</span></a> * <a class="link" href="EExtension.html#e-extension-get-extensible" title="e_extension_get_extensible ()">e_extension_get_extensible</a> (<em class="parameter"><code><a class="link" href="EExtension.html" title="EExtension"><span class="type">EExtension</span></a> *extension</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="EExtension.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+----EExtension
+----<a class="link" href="EBackendFactory.html" title="EBackendFactory">EBackendFactory</a>
</pre>
</div>
<div class="refsect1">
<a name="EExtension.properties"></a><h2>Properties</h2>
<pre class="synopsis">
"<a class="link" href="EExtension.html#EExtension--extensible" title='The "extensible" property'>extensible</a>" <a class="link" href="EExtensible.html" title="EExtensible"><span class="type">EExtensible</span></a>* : Read / Write / Construct Only
</pre>
</div>
<div class="refsect1">
<a name="EExtension.description"></a><h2>Description</h2>
<p>
<a class="link" href="EExtension.html" title="EExtension"><span class="type">EExtension</span></a> provides a way to extend the functionality of objects
that implement the <a class="link" href="EExtensible.html" title="EExtensible"><span class="type">EExtensible</span></a> interface. <a class="link" href="EExtension.html" title="EExtension"><span class="type">EExtension</span></a> subclasses
can target a particular extensible object type. New instances of
an extensible object type get paired with a new instance of each
<a class="link" href="EExtension.html" title="EExtension"><span class="type">EExtension</span></a> subclass that targets the extensible object type.
</p>
<p>
The first steps of writing a new extension are as follows:
</p>
<p>
1. Subclass <a class="link" href="EExtension.html" title="EExtension"><span class="type">EExtension</span></a>.
</p>
<p>
2. In the class initialization function, specify the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> being
extended. The <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> must implement the <a class="link" href="EExtensible.html" title="EExtensible"><span class="type">EExtensible</span></a> interface.
</p>
<p>
3. Register the extension's own <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>. If the extension is to
be loaded dynamically using <a href="http://library.gnome.org/devel/gobject/unstable/GTypeModule.html"><span class="type">GTypeModule</span></a>, the type should be
registered in the library module's <code class="function">e_module_load()</code> function.
</p>
</div>
<div class="refsect1">
<a name="EExtension.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="EExtension-struct"></a><h3>struct EExtension</h3>
<pre class="programlisting">struct EExtension;</pre>
<p>
Contains only private data that should be read and manipulated using the
functions below.
</p>
<p class="since">Since 3.4</p>
</div>
<hr>
<div class="refsect2">
<a name="e-extension-get-extensible"></a><h3>e_extension_get_extensible ()</h3>
<pre class="programlisting"><a class="link" href="EExtensible.html" title="EExtensible"><span class="returnvalue">EExtensible</span></a> * e_extension_get_extensible (<em class="parameter"><code><a class="link" href="EExtension.html" title="EExtension"><span class="type">EExtension</span></a> *extension</code></em>);</pre>
<p>
Returns the object that <em class="parameter"><code>extension</code></em> extends.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>extension</code></em> :</span></p></td>
<td>an <a class="link" href="EExtension.html" title="EExtension"><span class="type">EExtension</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the object being extended</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 3.4</p>
</div>
</div>
<div class="refsect1">
<a name="EExtension.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="EExtension--extensible"></a><h3>The <code class="literal">"extensible"</code> property</h3>
<pre class="programlisting"> "extensible" <a class="link" href="EExtensible.html" title="EExtensible"><span class="type">EExtensible</span></a>* : Read / Write / Construct Only</pre>
<p>The object being extended.</p>
</div>
</div>
</div>
<div class="footer">
<hr>
Generated by GTK-Doc V1.18</div>
</body>
</html>
|