File: EExtension.html

package info (click to toggle)
evolution-data-server 3.4.4-3%2Bdeb7u1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 47,788 kB
  • sloc: ansic: 248,622; sh: 12,008; makefile: 2,874; xml: 428; perl: 204; python: 30
file content (138 lines) | stat: -rw-r--r-- 7,573 bytes parent folder | download
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 &lt;libebackend/e-extension.h&gt;

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>