1
<refentry id="camel-camel-exception">
3
<refentrytitle role="top_of_page" id="camel-camel-exception.top_of_page">camel-exception</refentrytitle>
4
<manvolnum>3</manvolnum>
5
<refmiscinfo>CAMEL Library</refmiscinfo>
9
<refname>camel-exception</refname>
10
<refpurpose></refpurpose>
13
<refsynopsisdiv id="camel-camel-exception.synopsis" role="synopsis">
14
<title role="synopsis.title">Synopsis</title>
17
enum <link linkend="ExceptionId">ExceptionId</link>;
18
struct <link linkend="CamelException">CamelException</link>;
19
#define <link linkend="CAMEL-EXCEPTION-INITIALISER--CAPS">CAMEL_EXCEPTION_INITIALISER</link>
20
<link linkend="CamelException">CamelException</link> * <link linkend="camel-exception-new">camel_exception_new</link> (void);
21
<link linkend="void">void</link> <link linkend="camel-exception-free">camel_exception_free</link> (<link linkend="CamelException">CamelException</link> *ex);
22
<link linkend="void">void</link> <link linkend="camel-exception-init">camel_exception_init</link> (<link linkend="CamelException">CamelException</link> *ex);
23
<link linkend="void">void</link> <link linkend="camel-exception-clear">camel_exception_clear</link> (<link linkend="CamelException">CamelException</link> *ex);
24
<link linkend="void">void</link> <link linkend="camel-exception-set">camel_exception_set</link> (<link linkend="CamelException">CamelException</link> *ex,
25
<link linkend="ExceptionId">ExceptionId</link> id,
26
const <link linkend="gchar">gchar</link> *desc);
27
<link linkend="void">void</link> <link linkend="camel-exception-setv">camel_exception_setv</link> (<link linkend="CamelException">CamelException</link> *ex,
28
<link linkend="ExceptionId">ExceptionId</link> id,
29
const <link linkend="gchar">gchar</link> *format,
31
<link linkend="void">void</link> <link linkend="camel-exception-xfer">camel_exception_xfer</link> (<link linkend="CamelException">CamelException</link> *ex_dst,
32
<link linkend="CamelException">CamelException</link> *ex_src);
33
<link linkend="ExceptionId">ExceptionId</link> <link linkend="camel-exception-get-id">camel_exception_get_id</link> (<link linkend="CamelException">CamelException</link> *ex);
34
const <link linkend="gchar">gchar</link> * <link linkend="camel-exception-get-description">camel_exception_get_description</link> (<link linkend="CamelException">CamelException</link> *ex);
35
#define <link linkend="camel-exception-is-set">camel_exception_is_set</link> (ex)
47
<refsect1 id="camel-camel-exception.description" role="desc">
48
<title role="desc.title">Description</title>
53
<refsect1 id="camel-camel-exception.details" role="details">
54
<title role="details.title">Details</title>
55
<refsect2 id="ExceptionId" role="enum">
56
<title>enum ExceptionId</title>
57
<indexterm zone="ExceptionId"><primary sortas="ExceptionId">ExceptionId</primary></indexterm><programlisting>typedef enum {
58
#include "camel-exception-list.def"
64
<refsect2 id="CamelException" role="struct">
65
<title>struct CamelException</title>
66
<indexterm zone="CamelException"><primary sortas="CamelException">CamelException</primary></indexterm><programlisting>struct CamelException {
67
/* do not access the fields directly */
74
<refsect2 id="CAMEL-EXCEPTION-INITIALISER--CAPS" role="macro">
75
<title>CAMEL_EXCEPTION_INITIALISER</title>
76
<indexterm zone="CAMEL-EXCEPTION-INITIALISER--CAPS"><primary sortas="CAMEL_EXCEPTION_INITIALISER">CAMEL_EXCEPTION_INITIALISER</primary></indexterm><programlisting>#define CAMEL_EXCEPTION_INITIALISER { 0, NULL }
80
<refsect2 id="camel-exception-new" role="function">
81
<title>camel_exception_new ()</title>
82
<indexterm zone="camel-exception-new"><primary sortas="camel_exception_new">camel_exception_new</primary></indexterm><programlisting><link linkend="CamelException">CamelException</link> * camel_exception_new (void);</programlisting>
84
Create and returns a new exception object.</para>
86
</para><variablelist role="params">
87
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the newly allocated exception object
88
</simpara></listitem></varlistentry>
89
</variablelist></refsect2>
90
<refsect2 id="camel-exception-free" role="function">
91
<title>camel_exception_free ()</title>
92
<indexterm zone="camel-exception-free"><primary sortas="camel_exception_free">camel_exception_free</primary></indexterm><programlisting><link linkend="void">void</link> camel_exception_free (<link linkend="CamelException">CamelException</link> *ex);</programlisting>
94
Free an exception object. If the exception is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, nothing is
95
done, the routine simply returns.</para>
97
</para><variablelist role="params">
98
<varlistentry><term><parameter>ex</parameter> :</term>
99
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
100
</simpara></listitem></varlistentry>
101
</variablelist></refsect2>
102
<refsect2 id="camel-exception-init" role="function">
103
<title>camel_exception_init ()</title>
104
<indexterm zone="camel-exception-init"><primary sortas="camel_exception_init">camel_exception_init</primary></indexterm><programlisting><link linkend="void">void</link> camel_exception_init (<link linkend="CamelException">CamelException</link> *ex);</programlisting>
106
Init an exception. This routine is mainly useful when using a
107
statically allocated exception.</para>
109
</para><variablelist role="params">
110
<varlistentry><term><parameter>ex</parameter> :</term>
111
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
112
</simpara></listitem></varlistentry>
113
</variablelist></refsect2>
114
<refsect2 id="camel-exception-clear" role="function">
115
<title>camel_exception_clear ()</title>
116
<indexterm zone="camel-exception-clear"><primary sortas="camel_exception_clear">camel_exception_clear</primary></indexterm><programlisting><link linkend="void">void</link> camel_exception_clear (<link linkend="CamelException">CamelException</link> *ex);</programlisting>
118
Clear an exception, that is, set the exception ID to
119
<link linkend="CAMEL-EXCEPTION-NONE--CAPS"><type>CAMEL_EXCEPTION_NONE</type></link> and free the description text. If the
120
exception is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, this funtion just returns.</para>
122
</para><variablelist role="params">
123
<varlistentry><term><parameter>ex</parameter> :</term>
124
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
125
</simpara></listitem></varlistentry>
126
</variablelist></refsect2>
127
<refsect2 id="camel-exception-set" role="function">
128
<title>camel_exception_set ()</title>
129
<indexterm zone="camel-exception-set"><primary sortas="camel_exception_set">camel_exception_set</primary></indexterm><programlisting><link linkend="void">void</link> camel_exception_set (<link linkend="CamelException">CamelException</link> *ex,
130
<link linkend="ExceptionId">ExceptionId</link> id,
131
const <link linkend="gchar">gchar</link> *desc);</programlisting>
133
Set the value of an exception. The exception id is
134
a unique number representing the exception. The
135
textual description is a small text explaining
136
what happened and provoked the exception.
139
When <parameter>ex</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, nothing is done, this routine
140
simply returns.</para>
142
</para><variablelist role="params">
143
<varlistentry><term><parameter>ex</parameter> :</term>
144
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
145
</simpara></listitem></varlistentry>
146
<varlistentry><term><parameter>id</parameter> :</term>
147
<listitem><simpara> exception id
148
</simpara></listitem></varlistentry>
149
<varlistentry><term><parameter>desc</parameter> :</term>
150
<listitem><simpara> textual description of the exception
151
</simpara></listitem></varlistentry>
152
</variablelist></refsect2>
153
<refsect2 id="camel-exception-setv" role="function">
154
<title>camel_exception_setv ()</title>
155
<indexterm zone="camel-exception-setv"><primary sortas="camel_exception_setv">camel_exception_setv</primary></indexterm><programlisting><link linkend="void">void</link> camel_exception_setv (<link linkend="CamelException">CamelException</link> *ex,
156
<link linkend="ExceptionId">ExceptionId</link> id,
157
const <link linkend="gchar">gchar</link> *format,
158
...);</programlisting>
160
Set the value of an exception. The exception id is
161
a unique number representing the exception. The
162
textual description is a small text explaining
163
what happened and provoked the exception.
164
In this version, the string is created from the format
165
string and the variable argument list.
169
camel_exception_setv (ex, ..., camel_exception_get_description (ex), ...);
172
When <parameter>ex</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, nothing is done, this routine
173
simply returns.</para>
175
</para><variablelist role="params">
176
<varlistentry><term><parameter>ex</parameter> :</term>
177
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
178
</simpara></listitem></varlistentry>
179
<varlistentry><term><parameter>id</parameter> :</term>
180
<listitem><simpara> exception id
181
</simpara></listitem></varlistentry>
182
<varlistentry><term><parameter>format</parameter> :</term>
183
<listitem><simpara> format of the description string. The format string is
184
used as in <link linkend="printf"><function>printf()</function></link>.
185
</simpara></listitem></varlistentry>
186
<varlistentry><term><parameter>...</parameter> :</term>
188
</simpara></listitem></varlistentry>
189
</variablelist></refsect2>
190
<refsect2 id="camel-exception-xfer" role="function">
191
<title>camel_exception_xfer ()</title>
192
<indexterm zone="camel-exception-xfer"><primary sortas="camel_exception_xfer">camel_exception_xfer</primary></indexterm><programlisting><link linkend="void">void</link> camel_exception_xfer (<link linkend="CamelException">CamelException</link> *ex_dst,
193
<link linkend="CamelException">CamelException</link> *ex_src);</programlisting>
195
Transfer the content of an exception from an exception object to
196
another. The destination exception receives the id and the
197
description text of the source exception.</para>
199
</para><variablelist role="params">
200
<varlistentry><term><parameter>ex_dst</parameter> :</term>
201
<listitem><simpara> Destination exception object
202
</simpara></listitem></varlistentry>
203
<varlistentry><term><parameter>ex_src</parameter> :</term>
204
<listitem><simpara> Source exception object
205
</simpara></listitem></varlistentry>
206
</variablelist></refsect2>
207
<refsect2 id="camel-exception-get-id" role="function">
208
<title>camel_exception_get_id ()</title>
209
<indexterm zone="camel-exception-get-id"><primary sortas="camel_exception_get_id">camel_exception_get_id</primary></indexterm><programlisting><link linkend="ExceptionId">ExceptionId</link> camel_exception_get_id (<link linkend="CamelException">CamelException</link> *ex);</programlisting>
211
Get the id of an exception.</para>
213
</para><variablelist role="params">
214
<varlistentry><term><parameter>ex</parameter> :</term>
215
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
216
</simpara></listitem></varlistentry>
217
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the exception id (<link linkend="CAMEL-EXCEPTION-NONE--CAPS"><type>CAMEL_EXCEPTION_NONE</type></link> will be returned if
218
<parameter>ex</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link> or unset)
219
</simpara></listitem></varlistentry>
220
</variablelist></refsect2>
221
<refsect2 id="camel-exception-get-description" role="function">
222
<title>camel_exception_get_description ()</title>
223
<indexterm zone="camel-exception-get-description"><primary sortas="camel_exception_get_description">camel_exception_get_description</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link> * camel_exception_get_description (<link linkend="CamelException">CamelException</link> *ex);</programlisting>
225
Get the exception description text.</para>
227
</para><variablelist role="params">
228
<varlistentry><term><parameter>ex</parameter> :</term>
229
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
230
</simpara></listitem></varlistentry>
231
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the exception description text (<link linkend="NULL--CAPS"><literal>NULL</literal></link> will be returned if
232
<parameter>ex</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link> or unset)
233
</simpara></listitem></varlistentry>
234
</variablelist></refsect2>
235
<refsect2 id="camel-exception-is-set" role="macro">
236
<title>camel_exception_is_set()</title>
237
<indexterm zone="camel-exception-is-set"><primary sortas="camel_exception_is_set">camel_exception_is_set</primary></indexterm><programlisting>#define camel_exception_is_set(ex) (camel_exception_get_id (ex) != CAMEL_EXCEPTION_NONE)
240
</para><variablelist role="params">
241
<varlistentry><term><parameter>ex</parameter> :</term>
243
</simpara></listitem></varlistentry>
244
</variablelist></refsect2>