~ubuntu-branches/ubuntu/karmic/evolution-data-server/karmic

« back to all changes in this revision

Viewing changes to docs/reference/camel/xml/camel-provider.xml

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2009-08-31 17:47:33 UTC
  • mfrom: (1.1.72 upstream)
  • Revision ID: james.westby@ubuntu.com-20090831174733-8pi6ji221me5qvmv
Tags: 2.27.91-0ubuntu1
* New upstream version:
  Bug Fixes:
  Mailer:
  - #350007 - evolution busy-waits on GPG signing operations  (lp: #182317)
  - #571206 - Index files on Maildir accounts are not updated on move
  - #590044 - Drop index on all columns of sqlite database 
  - #592310 - Deadlock in maildir provider after doing expunge 
  Miscellaneous:
  - #591324 - Cosmetic changes and fixes in configure.ac 
  - #591326 - Keep m4 macros in their own folder 
  - #591377 - Fails to detect krb5 in configure with -as-needed

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<refentry id="camel-camel-provider">
 
2
<refmeta>
 
3
<refentrytitle role="top_of_page" id="camel-camel-provider.top_of_page">camel-provider</refentrytitle>
 
4
<manvolnum>3</manvolnum>
 
5
<refmiscinfo>CAMEL Library</refmiscinfo>
 
6
</refmeta>
 
7
 
 
8
<refnamediv>
 
9
<refname>camel-provider</refname>
 
10
<refpurpose></refpurpose>
 
11
</refnamediv>
 
12
 
 
13
<refsynopsisdiv id="camel-camel-provider.synopsis" role="synopsis">
 
14
<title role="synopsis.title">Synopsis</title>
 
15
 
 
16
<synopsis>
 
17
                    <link linkend="CamelProvider">CamelProvider</link>;
 
18
enum                <link linkend="CamelProviderType">CamelProviderType</link>;
 
19
#define             <link linkend="CAMEL-PROVIDER-IS-LOCAL--CAPS">CAMEL_PROVIDER_IS_LOCAL</link>
 
20
#define             <link linkend="CAMEL-PROVIDER-IS-EXTERNAL--CAPS">CAMEL_PROVIDER_IS_EXTERNAL</link>
 
21
#define             <link linkend="CAMEL-PROVIDER-IS-SOURCE--CAPS">CAMEL_PROVIDER_IS_SOURCE</link>
 
22
#define             <link linkend="CAMEL-PROVIDER-IS-STORAGE--CAPS">CAMEL_PROVIDER_IS_STORAGE</link>
 
23
#define             <link linkend="CAMEL-PROVIDER-SUPPORTS-SSL--CAPS">CAMEL_PROVIDER_SUPPORTS_SSL</link>
 
24
#define             <link linkend="CAMEL-PROVIDER-HAS-LICENSE--CAPS">CAMEL_PROVIDER_HAS_LICENSE</link>
 
25
#define             <link linkend="CAMEL-PROVIDER-DISABLE-SENT-FOLDER--CAPS">CAMEL_PROVIDER_DISABLE_SENT_FOLDER</link>
 
26
#define             <link linkend="CAMEL-URL-PART-USER--CAPS">CAMEL_URL_PART_USER</link>
 
27
#define             <link linkend="CAMEL-URL-PART-AUTH--CAPS">CAMEL_URL_PART_AUTH</link>
 
28
#define             <link linkend="CAMEL-URL-PART-PASSWORD--CAPS">CAMEL_URL_PART_PASSWORD</link>
 
29
#define             <link linkend="CAMEL-URL-PART-HOST--CAPS">CAMEL_URL_PART_HOST</link>
 
30
#define             <link linkend="CAMEL-URL-PART-PORT--CAPS">CAMEL_URL_PART_PORT</link>
 
31
#define             <link linkend="CAMEL-URL-PART-PATH--CAPS">CAMEL_URL_PART_PATH</link>
 
32
#define             <link linkend="CAMEL-URL-PART-PATH-DIR--CAPS">CAMEL_URL_PART_PATH_DIR</link>
 
33
#define             <link linkend="CAMEL-URL-PART-NEED--CAPS">CAMEL_URL_PART_NEED</link>
 
34
#define             <link linkend="CAMEL-URL-PART-HIDDEN--CAPS">CAMEL_URL_PART_HIDDEN</link>
 
35
#define             <link linkend="CAMEL-PROVIDER-ALLOWS--CAPS">CAMEL_PROVIDER_ALLOWS</link>               (prov, flags)
 
36
#define             <link linkend="CAMEL-PROVIDER-NEEDS--CAPS">CAMEL_PROVIDER_NEEDS</link>                (prov, flags)
 
37
#define             <link linkend="CAMEL-PROVIDER-HIDDEN--CAPS">CAMEL_PROVIDER_HIDDEN</link>               (prov, flags)
 
38
#define             <link linkend="CAMEL-URL-ALLOW-USER--CAPS">CAMEL_URL_ALLOW_USER</link>
 
39
#define             <link linkend="CAMEL-URL-ALLOW-AUTH--CAPS">CAMEL_URL_ALLOW_AUTH</link>
 
40
#define             <link linkend="CAMEL-URL-ALLOW-PASSWORD--CAPS">CAMEL_URL_ALLOW_PASSWORD</link>
 
41
#define             <link linkend="CAMEL-URL-ALLOW-HOST--CAPS">CAMEL_URL_ALLOW_HOST</link>
 
42
#define             <link linkend="CAMEL-URL-ALLOW-PORT--CAPS">CAMEL_URL_ALLOW_PORT</link>
 
43
#define             <link linkend="CAMEL-URL-ALLOW-PATH--CAPS">CAMEL_URL_ALLOW_PATH</link>
 
44
#define             <link linkend="CAMEL-URL-NEED-USER--CAPS">CAMEL_URL_NEED_USER</link>
 
45
#define             <link linkend="CAMEL-URL-NEED-AUTH--CAPS">CAMEL_URL_NEED_AUTH</link>
 
46
#define             <link linkend="CAMEL-URL-NEED-PASSWORD--CAPS">CAMEL_URL_NEED_PASSWORD</link>
 
47
#define             <link linkend="CAMEL-URL-NEED-HOST--CAPS">CAMEL_URL_NEED_HOST</link>
 
48
#define             <link linkend="CAMEL-URL-NEED-PORT--CAPS">CAMEL_URL_NEED_PORT</link>
 
49
#define             <link linkend="CAMEL-URL-NEED-PATH--CAPS">CAMEL_URL_NEED_PATH</link>
 
50
#define             <link linkend="CAMEL-URL-NEED-PATH-DIR--CAPS">CAMEL_URL_NEED_PATH_DIR</link>
 
51
#define             <link linkend="CAMEL-URL-HIDDEN-USER--CAPS">CAMEL_URL_HIDDEN_USER</link>
 
52
#define             <link linkend="CAMEL-URL-HIDDEN-AUTH--CAPS">CAMEL_URL_HIDDEN_AUTH</link>
 
53
#define             <link linkend="CAMEL-URL-HIDDEN-PASSWORD--CAPS">CAMEL_URL_HIDDEN_PASSWORD</link>
 
54
#define             <link linkend="CAMEL-URL-HIDDEN-HOST--CAPS">CAMEL_URL_HIDDEN_HOST</link>
 
55
#define             <link linkend="CAMEL-URL-HIDDEN-PORT--CAPS">CAMEL_URL_HIDDEN_PORT</link>
 
56
#define             <link linkend="CAMEL-URL-HIDDEN-PATH--CAPS">CAMEL_URL_HIDDEN_PATH</link>
 
57
#define             <link linkend="CAMEL-URL-FRAGMENT-IS-PATH--CAPS">CAMEL_URL_FRAGMENT_IS_PATH</link>
 
58
#define             <link linkend="CAMEL-URL-PATH-IS-ABSOLUTE--CAPS">CAMEL_URL_PATH_IS_ABSOLUTE</link>
 
59
#define             <link linkend="CAMEL-PROVIDER-IS-STORE-AND-TRANSPORT--CAPS">CAMEL_PROVIDER_IS_STORE_AND_TRANSPORT</link>(prov)
 
60
enum                <link linkend="CamelProviderConfType">CamelProviderConfType</link>;
 
61
                    <link linkend="CamelProviderConfEntry">CamelProviderConfEntry</link>;
 
62
#define             <link linkend="CAMEL-PROVIDER-CONF-DEFAULT-USERNAME--CAPS">CAMEL_PROVIDER_CONF_DEFAULT_USERNAME</link>
 
63
#define             <link linkend="CAMEL-PROVIDER-CONF-DEFAULT-HOSTNAME--CAPS">CAMEL_PROVIDER_CONF_DEFAULT_HOSTNAME</link>
 
64
#define             <link linkend="CAMEL-PROVIDER-CONF-DEFAULT-PATH--CAPS">CAMEL_PROVIDER_CONF_DEFAULT_PATH</link>
 
65
<link linkend="gint">gint</link>                (<link linkend="CamelProviderAutoDetectFunc">*CamelProviderAutoDetectFunc</link>)      (<link linkend="CamelURL">CamelURL</link> *url,
 
66
                                                         <link linkend="GHashTable">GHashTable</link> **auto_detected,
 
67
                                                         <link linkend="CamelException">CamelException</link> *ex);
 
68
                    <link linkend="CamelProviderModule">CamelProviderModule</link>;
 
69
<link linkend="void">void</link>                <link linkend="camel-provider-init">camel_provider_init</link>                 (void);
 
70
<link linkend="void">void</link>                <link linkend="camel-provider-load">camel_provider_load</link>                 (const <link linkend="gchar">gchar</link> *path,
 
71
                                                         <link linkend="CamelException">CamelException</link> *ex);
 
72
<link linkend="void">void</link>                <link linkend="camel-provider-register">camel_provider_register</link>             (<link linkend="CamelProvider">CamelProvider</link> *provider);
 
73
<link linkend="GList">GList</link> *             <link linkend="camel-provider-list">camel_provider_list</link>                 (<link linkend="gboolean">gboolean</link> load);
 
74
<link linkend="CamelProvider">CamelProvider</link> *     <link linkend="camel-provider-get">camel_provider_get</link>                  (const <link linkend="gchar">gchar</link> *url_string,
 
75
                                                         <link linkend="CamelException">CamelException</link> *ex);
 
76
<link linkend="void">void</link>                <link linkend="camel-provider-module-init">camel_provider_module_init</link>          (void);
 
77
<link linkend="gint">gint</link>                <link linkend="camel-provider-auto-detect">camel_provider_auto_detect</link>          (<link linkend="CamelProvider">CamelProvider</link> *provider,
 
78
                                                         <link linkend="CamelURL">CamelURL</link> *url,
 
79
                                                         <link linkend="GHashTable">GHashTable</link> **auto_detected,
 
80
                                                         <link linkend="CamelException">CamelException</link> *ex);
 
81
</synopsis>
 
82
</refsynopsisdiv>
 
83
 
 
84
 
 
85
 
 
86
 
 
87
 
 
88
 
 
89
 
 
90
 
 
91
 
 
92
<refsect1 id="camel-camel-provider.description" role="desc">
 
93
<title role="desc.title">Description</title>
 
94
<para>
 
95
</para>
 
96
</refsect1>
 
97
 
 
98
<refsect1 id="camel-camel-provider.details" role="details">
 
99
<title role="details.title">Details</title>
 
100
<refsect2 id="CamelProvider" role="struct">
 
101
<title>CamelProvider</title>
 
102
<indexterm zone="CamelProvider"><primary sortas="CamelProvider">CamelProvider</primary></indexterm><programlisting>typedef struct {
 
103
        /* Provider name used in CamelURLs. */
 
104
        const gchar *protocol;
 
105
 
 
106
        /* Provider name as used by people. (May be the same as protocol) */
 
107
        const gchar *name;
 
108
 
 
109
        /* Description of the provider. A novice user should be able
 
110
         * to read this description, and the information provided by
 
111
         * an ISP, IS department, etc, and determine whether or not
 
112
         * this provider is relevant to him, and if so, which
 
113
         * information goes with it.
 
114
         */
 
115
        const gchar *description;
 
116
 
 
117
        /* The category of message that this provider works with.
 
118
         * (evolution-mail will only list a provider in the store/transport
 
119
         * config dialogs if its domain is "mail".)
 
120
         */
 
121
        const gchar *domain;
 
122
 
 
123
        /* Flags describing the provider, flags describing its URLs */
 
124
        gint flags, url_flags;
 
125
 
 
126
        /* The ConfEntry and AutoDetect functions will probably be
 
127
         * DEPRECATED in a future release */
 
128
 
 
129
        /* Extra configuration information */
 
130
        CamelProviderConfEntry *extra_conf;
 
131
 
 
132
        /* auto-detection function */
 
133
        CamelProviderAutoDetectFunc auto_detect;
 
134
 
 
135
        /* CamelType(s) of its store and/or transport. If both are
 
136
         * set, then they are assumed to be linked together and the
 
137
         * transport type can only be used in an account that also
 
138
         * uses the store type (eg, Exchange or NNTP).
 
139
         */
 
140
        CamelType object_types[CAMEL_NUM_PROVIDER_TYPES];
 
141
 
 
142
        /* GList of CamelServiceAuthTypes the provider supports */
 
143
        GList *authtypes;
 
144
 
 
145
        CamelObjectBag *service_cache[CAMEL_NUM_PROVIDER_TYPES];
 
146
 
 
147
        GHashFunc url_hash;
 
148
        GCompareFunc url_equal;
 
149
 
 
150
        /* gettext translation domain (NULL for providers in the
 
151
         * evolution source tree).
 
152
         */
 
153
        const gchar *translation_domain;
 
154
 
 
155
        /* This string points to the provider's gconf key value
 
156
         */
 
157
        const gchar *license;
 
158
 
 
159
        /* This holds the license file name [ ascii text format ] containing
 
160
         * the license agreement. This should be the absolute file path. This
 
161
         * is read only when the HAS_LICENSE flag is set
 
162
         */
 
163
        const gchar *license_file;
 
164
 
 
165
        /* Private to the provider */
 
166
        gpointer priv;
 
167
} CamelProvider;
 
168
</programlisting>
 
169
<para>
 
170
</para></refsect2>
 
171
<refsect2 id="CamelProviderType" role="enum">
 
172
<title>enum CamelProviderType</title>
 
173
<indexterm zone="CamelProviderType"><primary sortas="CamelProviderType">CamelProviderType</primary></indexterm><programlisting>typedef enum {
 
174
        CAMEL_PROVIDER_STORE,
 
175
        CAMEL_PROVIDER_TRANSPORT,
 
176
        CAMEL_NUM_PROVIDER_TYPES
 
177
} CamelProviderType;
 
178
</programlisting>
 
179
<para>
 
180
</para></refsect2>
 
181
<refsect2 id="CAMEL-PROVIDER-IS-LOCAL--CAPS" role="macro">
 
182
<title>CAMEL_PROVIDER_IS_LOCAL</title>
 
183
<indexterm zone="CAMEL-PROVIDER-IS-LOCAL--CAPS"><primary sortas="CAMEL_PROVIDER_IS_LOCAL">CAMEL_PROVIDER_IS_LOCAL</primary></indexterm><programlisting>#define CAMEL_PROVIDER_IS_LOCAL          (1 &lt;&lt; 1)
 
184
</programlisting>
 
185
<para>
 
186
</para></refsect2>
 
187
<refsect2 id="CAMEL-PROVIDER-IS-EXTERNAL--CAPS" role="macro">
 
188
<title>CAMEL_PROVIDER_IS_EXTERNAL</title>
 
189
<indexterm zone="CAMEL-PROVIDER-IS-EXTERNAL--CAPS"><primary sortas="CAMEL_PROVIDER_IS_EXTERNAL">CAMEL_PROVIDER_IS_EXTERNAL</primary></indexterm><programlisting>#define CAMEL_PROVIDER_IS_EXTERNAL      (1 &lt;&lt; 2)
 
190
</programlisting>
 
191
<para>
 
192
</para></refsect2>
 
193
<refsect2 id="CAMEL-PROVIDER-IS-SOURCE--CAPS" role="macro">
 
194
<title>CAMEL_PROVIDER_IS_SOURCE</title>
 
195
<indexterm zone="CAMEL-PROVIDER-IS-SOURCE--CAPS"><primary sortas="CAMEL_PROVIDER_IS_SOURCE">CAMEL_PROVIDER_IS_SOURCE</primary></indexterm><programlisting>#define CAMEL_PROVIDER_IS_SOURCE      (1 &lt;&lt; 3)
 
196
</programlisting>
 
197
<para>
 
198
</para></refsect2>
 
199
<refsect2 id="CAMEL-PROVIDER-IS-STORAGE--CAPS" role="macro">
 
200
<title>CAMEL_PROVIDER_IS_STORAGE</title>
 
201
<indexterm zone="CAMEL-PROVIDER-IS-STORAGE--CAPS"><primary sortas="CAMEL_PROVIDER_IS_STORAGE">CAMEL_PROVIDER_IS_STORAGE</primary></indexterm><programlisting>#define CAMEL_PROVIDER_IS_STORAGE  (1 &lt;&lt; 4)
 
202
</programlisting>
 
203
<para>
 
204
</para></refsect2>
 
205
<refsect2 id="CAMEL-PROVIDER-SUPPORTS-SSL--CAPS" role="macro">
 
206
<title>CAMEL_PROVIDER_SUPPORTS_SSL</title>
 
207
<indexterm zone="CAMEL-PROVIDER-SUPPORTS-SSL--CAPS"><primary sortas="CAMEL_PROVIDER_SUPPORTS_SSL">CAMEL_PROVIDER_SUPPORTS_SSL</primary></indexterm><programlisting>#define CAMEL_PROVIDER_SUPPORTS_SSL  (1 &lt;&lt; 5)
 
208
</programlisting>
 
209
<para>
 
210
</para></refsect2>
 
211
<refsect2 id="CAMEL-PROVIDER-HAS-LICENSE--CAPS" role="macro">
 
212
<title>CAMEL_PROVIDER_HAS_LICENSE</title>
 
213
<indexterm zone="CAMEL-PROVIDER-HAS-LICENSE--CAPS"><primary sortas="CAMEL_PROVIDER_HAS_LICENSE">CAMEL_PROVIDER_HAS_LICENSE</primary></indexterm><programlisting>#define CAMEL_PROVIDER_HAS_LICENSE      (1 &lt;&lt; 6)
 
214
</programlisting>
 
215
<para>
 
216
</para></refsect2>
 
217
<refsect2 id="CAMEL-PROVIDER-DISABLE-SENT-FOLDER--CAPS" role="macro">
 
218
<title>CAMEL_PROVIDER_DISABLE_SENT_FOLDER</title>
 
219
<indexterm zone="CAMEL-PROVIDER-DISABLE-SENT-FOLDER--CAPS"><primary sortas="CAMEL_PROVIDER_DISABLE_SENT_FOLDER">CAMEL_PROVIDER_DISABLE_SENT_FOLDER</primary></indexterm><programlisting>#define CAMEL_PROVIDER_DISABLE_SENT_FOLDER (1 &lt;&lt; 7)
 
220
</programlisting>
 
221
<para>
 
222
</para></refsect2>
 
223
<refsect2 id="CAMEL-URL-PART-USER--CAPS" role="macro">
 
224
<title>CAMEL_URL_PART_USER</title>
 
225
<indexterm zone="CAMEL-URL-PART-USER--CAPS"><primary sortas="CAMEL_URL_PART_USER">CAMEL_URL_PART_USER</primary></indexterm><programlisting>#define CAMEL_URL_PART_USER   (1 &lt;&lt; 0)
 
226
</programlisting>
 
227
<para>
 
228
</para></refsect2>
 
229
<refsect2 id="CAMEL-URL-PART-AUTH--CAPS" role="macro">
 
230
<title>CAMEL_URL_PART_AUTH</title>
 
231
<indexterm zone="CAMEL-URL-PART-AUTH--CAPS"><primary sortas="CAMEL_URL_PART_AUTH">CAMEL_URL_PART_AUTH</primary></indexterm><programlisting>#define CAMEL_URL_PART_AUTH   (1 &lt;&lt; 1)
 
232
</programlisting>
 
233
<para>
 
234
</para></refsect2>
 
235
<refsect2 id="CAMEL-URL-PART-PASSWORD--CAPS" role="macro">
 
236
<title>CAMEL_URL_PART_PASSWORD</title>
 
237
<indexterm zone="CAMEL-URL-PART-PASSWORD--CAPS"><primary sortas="CAMEL_URL_PART_PASSWORD">CAMEL_URL_PART_PASSWORD</primary></indexterm><programlisting>#define CAMEL_URL_PART_PASSWORD   (1 &lt;&lt; 2)
 
238
</programlisting>
 
239
<para>
 
240
</para></refsect2>
 
241
<refsect2 id="CAMEL-URL-PART-HOST--CAPS" role="macro">
 
242
<title>CAMEL_URL_PART_HOST</title>
 
243
<indexterm zone="CAMEL-URL-PART-HOST--CAPS"><primary sortas="CAMEL_URL_PART_HOST">CAMEL_URL_PART_HOST</primary></indexterm><programlisting>#define CAMEL_URL_PART_HOST   (1 &lt;&lt; 3)
 
244
</programlisting>
 
245
<para>
 
246
</para></refsect2>
 
247
<refsect2 id="CAMEL-URL-PART-PORT--CAPS" role="macro">
 
248
<title>CAMEL_URL_PART_PORT</title>
 
249
<indexterm zone="CAMEL-URL-PART-PORT--CAPS"><primary sortas="CAMEL_URL_PART_PORT">CAMEL_URL_PART_PORT</primary></indexterm><programlisting>#define CAMEL_URL_PART_PORT   (1 &lt;&lt; 4)
 
250
</programlisting>
 
251
<para>
 
252
</para></refsect2>
 
253
<refsect2 id="CAMEL-URL-PART-PATH--CAPS" role="macro">
 
254
<title>CAMEL_URL_PART_PATH</title>
 
255
<indexterm zone="CAMEL-URL-PART-PATH--CAPS"><primary sortas="CAMEL_URL_PART_PATH">CAMEL_URL_PART_PATH</primary></indexterm><programlisting>#define CAMEL_URL_PART_PATH   (1 &lt;&lt; 5)
 
256
</programlisting>
 
257
<para>
 
258
</para></refsect2>
 
259
<refsect2 id="CAMEL-URL-PART-PATH-DIR--CAPS" role="macro">
 
260
<title>CAMEL_URL_PART_PATH_DIR</title>
 
261
<indexterm zone="CAMEL-URL-PART-PATH-DIR--CAPS"><primary sortas="CAMEL_URL_PART_PATH_DIR">CAMEL_URL_PART_PATH_DIR</primary></indexterm><programlisting>#define CAMEL_URL_PART_PATH_DIR  (1 &lt;&lt; 6)
 
262
</programlisting>
 
263
<para>
 
264
</para></refsect2>
 
265
<refsect2 id="CAMEL-URL-PART-NEED--CAPS" role="macro">
 
266
<title>CAMEL_URL_PART_NEED</title>
 
267
<indexterm zone="CAMEL-URL-PART-NEED--CAPS"><primary sortas="CAMEL_URL_PART_NEED">CAMEL_URL_PART_NEED</primary></indexterm><programlisting>#define CAMEL_URL_PART_NEED         8
 
268
</programlisting>
 
269
<para>
 
270
</para></refsect2>
 
271
<refsect2 id="CAMEL-URL-PART-HIDDEN--CAPS" role="macro">
 
272
<title>CAMEL_URL_PART_HIDDEN</title>
 
273
<indexterm zone="CAMEL-URL-PART-HIDDEN--CAPS"><primary sortas="CAMEL_URL_PART_HIDDEN">CAMEL_URL_PART_HIDDEN</primary></indexterm><programlisting>#define CAMEL_URL_PART_HIDDEN  (CAMEL_URL_PART_NEED + 8)
 
274
</programlisting>
 
275
<para>
 
276
</para></refsect2>
 
277
<refsect2 id="CAMEL-PROVIDER-ALLOWS--CAPS" role="macro">
 
278
<title>CAMEL_PROVIDER_ALLOWS()</title>
 
279
<indexterm zone="CAMEL-PROVIDER-ALLOWS--CAPS"><primary sortas="CAMEL_PROVIDER_ALLOWS">CAMEL_PROVIDER_ALLOWS</primary></indexterm><programlisting>#define CAMEL_PROVIDER_ALLOWS(prov, flags) (prov-&gt;url_flags &amp; (flags | (flags &lt;&lt; CAMEL_URL_PART_NEED) | (flags &lt;&lt; CAMEL_URL_PART_HIDDEN)))
 
280
</programlisting>
 
281
<para>
 
282
</para><variablelist role="params">
 
283
<varlistentry><term><parameter>prov</parameter>&#160;:</term>
 
284
<listitem><simpara>
 
285
</simpara></listitem></varlistentry>
 
286
<varlistentry><term><parameter>flags</parameter>&#160;:</term>
 
287
<listitem><simpara>
 
288
</simpara></listitem></varlistentry>
 
289
</variablelist></refsect2>
 
290
<refsect2 id="CAMEL-PROVIDER-NEEDS--CAPS" role="macro">
 
291
<title>CAMEL_PROVIDER_NEEDS()</title>
 
292
<indexterm zone="CAMEL-PROVIDER-NEEDS--CAPS"><primary sortas="CAMEL_PROVIDER_NEEDS">CAMEL_PROVIDER_NEEDS</primary></indexterm><programlisting>#define CAMEL_PROVIDER_NEEDS(prov, flags) (prov-&gt;url_flags &amp; (flags &lt;&lt; CAMEL_URL_PART_NEED))
 
293
</programlisting>
 
294
<para>
 
295
</para><variablelist role="params">
 
296
<varlistentry><term><parameter>prov</parameter>&#160;:</term>
 
297
<listitem><simpara>
 
298
</simpara></listitem></varlistentry>
 
299
<varlistentry><term><parameter>flags</parameter>&#160;:</term>
 
300
<listitem><simpara>
 
301
</simpara></listitem></varlistentry>
 
302
</variablelist></refsect2>
 
303
<refsect2 id="CAMEL-PROVIDER-HIDDEN--CAPS" role="macro">
 
304
<title>CAMEL_PROVIDER_HIDDEN()</title>
 
305
<indexterm zone="CAMEL-PROVIDER-HIDDEN--CAPS"><primary sortas="CAMEL_PROVIDER_HIDDEN">CAMEL_PROVIDER_HIDDEN</primary></indexterm><programlisting>#define CAMEL_PROVIDER_HIDDEN(prov, flags) (prov-&gt;url_flags &amp; (flags &lt;&lt; CAMEL_URL_PART_HIDDEN))
 
306
</programlisting>
 
307
<para>
 
308
</para><variablelist role="params">
 
309
<varlistentry><term><parameter>prov</parameter>&#160;:</term>
 
310
<listitem><simpara>
 
311
</simpara></listitem></varlistentry>
 
312
<varlistentry><term><parameter>flags</parameter>&#160;:</term>
 
313
<listitem><simpara>
 
314
</simpara></listitem></varlistentry>
 
315
</variablelist></refsect2>
 
316
<refsect2 id="CAMEL-URL-ALLOW-USER--CAPS" role="macro">
 
317
<title>CAMEL_URL_ALLOW_USER</title>
 
318
<indexterm zone="CAMEL-URL-ALLOW-USER--CAPS"><primary sortas="CAMEL_URL_ALLOW_USER">CAMEL_URL_ALLOW_USER</primary></indexterm><programlisting>#define CAMEL_URL_ALLOW_USER       (CAMEL_URL_PART_USER)
 
319
</programlisting>
 
320
<para>
 
321
</para></refsect2>
 
322
<refsect2 id="CAMEL-URL-ALLOW-AUTH--CAPS" role="macro">
 
323
<title>CAMEL_URL_ALLOW_AUTH</title>
 
324
<indexterm zone="CAMEL-URL-ALLOW-AUTH--CAPS"><primary sortas="CAMEL_URL_ALLOW_AUTH">CAMEL_URL_ALLOW_AUTH</primary></indexterm><programlisting>#define CAMEL_URL_ALLOW_AUTH       (CAMEL_URL_PART_AUTH)
 
325
</programlisting>
 
326
<para>
 
327
</para></refsect2>
 
328
<refsect2 id="CAMEL-URL-ALLOW-PASSWORD--CAPS" role="macro">
 
329
<title>CAMEL_URL_ALLOW_PASSWORD</title>
 
330
<indexterm zone="CAMEL-URL-ALLOW-PASSWORD--CAPS"><primary sortas="CAMEL_URL_ALLOW_PASSWORD">CAMEL_URL_ALLOW_PASSWORD</primary></indexterm><programlisting>#define CAMEL_URL_ALLOW_PASSWORD (CAMEL_URL_PART_PASSWORD)
 
331
</programlisting>
 
332
<para>
 
333
</para></refsect2>
 
334
<refsect2 id="CAMEL-URL-ALLOW-HOST--CAPS" role="macro">
 
335
<title>CAMEL_URL_ALLOW_HOST</title>
 
336
<indexterm zone="CAMEL-URL-ALLOW-HOST--CAPS"><primary sortas="CAMEL_URL_ALLOW_HOST">CAMEL_URL_ALLOW_HOST</primary></indexterm><programlisting>#define CAMEL_URL_ALLOW_HOST       (CAMEL_URL_PART_HOST)
 
337
</programlisting>
 
338
<para>
 
339
</para></refsect2>
 
340
<refsect2 id="CAMEL-URL-ALLOW-PORT--CAPS" role="macro">
 
341
<title>CAMEL_URL_ALLOW_PORT</title>
 
342
<indexterm zone="CAMEL-URL-ALLOW-PORT--CAPS"><primary sortas="CAMEL_URL_ALLOW_PORT">CAMEL_URL_ALLOW_PORT</primary></indexterm><programlisting>#define CAMEL_URL_ALLOW_PORT       (CAMEL_URL_PART_PORT)
 
343
</programlisting>
 
344
<para>
 
345
</para></refsect2>
 
346
<refsect2 id="CAMEL-URL-ALLOW-PATH--CAPS" role="macro">
 
347
<title>CAMEL_URL_ALLOW_PATH</title>
 
348
<indexterm zone="CAMEL-URL-ALLOW-PATH--CAPS"><primary sortas="CAMEL_URL_ALLOW_PATH">CAMEL_URL_ALLOW_PATH</primary></indexterm><programlisting>#define CAMEL_URL_ALLOW_PATH       (CAMEL_URL_PART_PATH)
 
349
</programlisting>
 
350
<para>
 
351
</para></refsect2>
 
352
<refsect2 id="CAMEL-URL-NEED-USER--CAPS" role="macro">
 
353
<title>CAMEL_URL_NEED_USER</title>
 
354
<indexterm zone="CAMEL-URL-NEED-USER--CAPS"><primary sortas="CAMEL_URL_NEED_USER">CAMEL_URL_NEED_USER</primary></indexterm><programlisting>#define CAMEL_URL_NEED_USER   (CAMEL_URL_PART_USER &lt;&lt; CAMEL_URL_PART_NEED)
 
355
</programlisting>
 
356
<para>
 
357
</para></refsect2>
 
358
<refsect2 id="CAMEL-URL-NEED-AUTH--CAPS" role="macro">
 
359
<title>CAMEL_URL_NEED_AUTH</title>
 
360
<indexterm zone="CAMEL-URL-NEED-AUTH--CAPS"><primary sortas="CAMEL_URL_NEED_AUTH">CAMEL_URL_NEED_AUTH</primary></indexterm><programlisting>#define CAMEL_URL_NEED_AUTH   (CAMEL_URL_PART_AUTH &lt;&lt; CAMEL_URL_PART_NEED)
 
361
</programlisting>
 
362
<para>
 
363
</para></refsect2>
 
364
<refsect2 id="CAMEL-URL-NEED-PASSWORD--CAPS" role="macro">
 
365
<title>CAMEL_URL_NEED_PASSWORD</title>
 
366
<indexterm zone="CAMEL-URL-NEED-PASSWORD--CAPS"><primary sortas="CAMEL_URL_NEED_PASSWORD">CAMEL_URL_NEED_PASSWORD</primary></indexterm><programlisting>#define CAMEL_URL_NEED_PASSWORD   (CAMEL_URL_PART_PASSWORD &lt;&lt; CAMEL_URL_PART_NEED)
 
367
</programlisting>
 
368
<para>
 
369
</para></refsect2>
 
370
<refsect2 id="CAMEL-URL-NEED-HOST--CAPS" role="macro">
 
371
<title>CAMEL_URL_NEED_HOST</title>
 
372
<indexterm zone="CAMEL-URL-NEED-HOST--CAPS"><primary sortas="CAMEL_URL_NEED_HOST">CAMEL_URL_NEED_HOST</primary></indexterm><programlisting>#define CAMEL_URL_NEED_HOST   (CAMEL_URL_PART_HOST &lt;&lt; CAMEL_URL_PART_NEED)
 
373
</programlisting>
 
374
<para>
 
375
</para></refsect2>
 
376
<refsect2 id="CAMEL-URL-NEED-PORT--CAPS" role="macro">
 
377
<title>CAMEL_URL_NEED_PORT</title>
 
378
<indexterm zone="CAMEL-URL-NEED-PORT--CAPS"><primary sortas="CAMEL_URL_NEED_PORT">CAMEL_URL_NEED_PORT</primary></indexterm><programlisting>#define CAMEL_URL_NEED_PORT   (CAMEL_URL_PART_PORT &lt;&lt; CAMEL_URL_PART_NEED)
 
379
</programlisting>
 
380
<para>
 
381
</para></refsect2>
 
382
<refsect2 id="CAMEL-URL-NEED-PATH--CAPS" role="macro">
 
383
<title>CAMEL_URL_NEED_PATH</title>
 
384
<indexterm zone="CAMEL-URL-NEED-PATH--CAPS"><primary sortas="CAMEL_URL_NEED_PATH">CAMEL_URL_NEED_PATH</primary></indexterm><programlisting>#define CAMEL_URL_NEED_PATH   (CAMEL_URL_PART_PATH &lt;&lt; CAMEL_URL_PART_NEED)
 
385
</programlisting>
 
386
<para>
 
387
</para></refsect2>
 
388
<refsect2 id="CAMEL-URL-NEED-PATH-DIR--CAPS" role="macro">
 
389
<title>CAMEL_URL_NEED_PATH_DIR</title>
 
390
<indexterm zone="CAMEL-URL-NEED-PATH-DIR--CAPS"><primary sortas="CAMEL_URL_NEED_PATH_DIR">CAMEL_URL_NEED_PATH_DIR</primary></indexterm><programlisting>#define CAMEL_URL_NEED_PATH_DIR  (CAMEL_URL_PART_PATH_DIR &lt;&lt; CAMEL_URL_PART_NEED)
 
391
</programlisting>
 
392
<para>
 
393
</para></refsect2>
 
394
<refsect2 id="CAMEL-URL-HIDDEN-USER--CAPS" role="macro">
 
395
<title>CAMEL_URL_HIDDEN_USER</title>
 
396
<indexterm zone="CAMEL-URL-HIDDEN-USER--CAPS"><primary sortas="CAMEL_URL_HIDDEN_USER">CAMEL_URL_HIDDEN_USER</primary></indexterm><programlisting>#define CAMEL_URL_HIDDEN_USER   (CAMEL_URL_PART_USER &lt;&lt; CAMEL_URL_PART_HIDDEN)
 
397
</programlisting>
 
398
<para>
 
399
</para></refsect2>
 
400
<refsect2 id="CAMEL-URL-HIDDEN-AUTH--CAPS" role="macro">
 
401
<title>CAMEL_URL_HIDDEN_AUTH</title>
 
402
<indexterm zone="CAMEL-URL-HIDDEN-AUTH--CAPS"><primary sortas="CAMEL_URL_HIDDEN_AUTH">CAMEL_URL_HIDDEN_AUTH</primary></indexterm><programlisting>#define CAMEL_URL_HIDDEN_AUTH   (CAMEL_URL_PART_AUTH &lt;&lt; CAMEL_URL_PART_HIDDEN)
 
403
</programlisting>
 
404
<para>
 
405
</para></refsect2>
 
406
<refsect2 id="CAMEL-URL-HIDDEN-PASSWORD--CAPS" role="macro">
 
407
<title>CAMEL_URL_HIDDEN_PASSWORD</title>
 
408
<indexterm zone="CAMEL-URL-HIDDEN-PASSWORD--CAPS"><primary sortas="CAMEL_URL_HIDDEN_PASSWORD">CAMEL_URL_HIDDEN_PASSWORD</primary></indexterm><programlisting>#define CAMEL_URL_HIDDEN_PASSWORD   (CAMEL_URL_PART_PASSWORD &lt;&lt; CAMEL_URL_PART_HIDDEN)
 
409
</programlisting>
 
410
<para>
 
411
</para></refsect2>
 
412
<refsect2 id="CAMEL-URL-HIDDEN-HOST--CAPS" role="macro">
 
413
<title>CAMEL_URL_HIDDEN_HOST</title>
 
414
<indexterm zone="CAMEL-URL-HIDDEN-HOST--CAPS"><primary sortas="CAMEL_URL_HIDDEN_HOST">CAMEL_URL_HIDDEN_HOST</primary></indexterm><programlisting>#define CAMEL_URL_HIDDEN_HOST   (CAMEL_URL_PART_HOST &lt;&lt; CAMEL_URL_PART_HIDDEN)
 
415
</programlisting>
 
416
<para>
 
417
</para></refsect2>
 
418
<refsect2 id="CAMEL-URL-HIDDEN-PORT--CAPS" role="macro">
 
419
<title>CAMEL_URL_HIDDEN_PORT</title>
 
420
<indexterm zone="CAMEL-URL-HIDDEN-PORT--CAPS"><primary sortas="CAMEL_URL_HIDDEN_PORT">CAMEL_URL_HIDDEN_PORT</primary></indexterm><programlisting>#define CAMEL_URL_HIDDEN_PORT   (CAMEL_URL_PART_PORT &lt;&lt; CAMEL_URL_PART_HIDDEN)
 
421
</programlisting>
 
422
<para>
 
423
</para></refsect2>
 
424
<refsect2 id="CAMEL-URL-HIDDEN-PATH--CAPS" role="macro">
 
425
<title>CAMEL_URL_HIDDEN_PATH</title>
 
426
<indexterm zone="CAMEL-URL-HIDDEN-PATH--CAPS"><primary sortas="CAMEL_URL_HIDDEN_PATH">CAMEL_URL_HIDDEN_PATH</primary></indexterm><programlisting>#define CAMEL_URL_HIDDEN_PATH   (CAMEL_URL_PART_PATH &lt;&lt; CAMEL_URL_PART_HIDDEN)
 
427
</programlisting>
 
428
<para>
 
429
</para></refsect2>
 
430
<refsect2 id="CAMEL-URL-FRAGMENT-IS-PATH--CAPS" role="macro">
 
431
<title>CAMEL_URL_FRAGMENT_IS_PATH</title>
 
432
<indexterm zone="CAMEL-URL-FRAGMENT-IS-PATH--CAPS"><primary sortas="CAMEL_URL_FRAGMENT_IS_PATH">CAMEL_URL_FRAGMENT_IS_PATH</primary></indexterm><programlisting>#define CAMEL_URL_FRAGMENT_IS_PATH  (1 &lt;&lt; 30) /* url uses fragment for folder name path, not path */
 
433
</programlisting>
 
434
<para>
 
435
</para></refsect2>
 
436
<refsect2 id="CAMEL-URL-PATH-IS-ABSOLUTE--CAPS" role="macro">
 
437
<title>CAMEL_URL_PATH_IS_ABSOLUTE</title>
 
438
<indexterm zone="CAMEL-URL-PATH-IS-ABSOLUTE--CAPS"><primary sortas="CAMEL_URL_PATH_IS_ABSOLUTE">CAMEL_URL_PATH_IS_ABSOLUTE</primary></indexterm><programlisting>#define CAMEL_URL_PATH_IS_ABSOLUTE (1 &lt;&lt; 31)
 
439
</programlisting>
 
440
<para>
 
441
</para></refsect2>
 
442
<refsect2 id="CAMEL-PROVIDER-IS-STORE-AND-TRANSPORT--CAPS" role="macro">
 
443
<title>CAMEL_PROVIDER_IS_STORE_AND_TRANSPORT()</title>
 
444
<indexterm zone="CAMEL-PROVIDER-IS-STORE-AND-TRANSPORT--CAPS"><primary sortas="CAMEL_PROVIDER_IS_STORE_AND_TRANSPORT">CAMEL_PROVIDER_IS_STORE_AND_TRANSPORT</primary></indexterm><programlisting>#define CAMEL_PROVIDER_IS_STORE_AND_TRANSPORT(prov) (prov-&gt;object_types[CAMEL_PROVIDER_STORE] &amp;&amp; prov-&gt;object_types[CAMEL_PROVIDER_TRANSPORT])
 
445
</programlisting>
 
446
<para>
 
447
</para><variablelist role="params">
 
448
<varlistentry><term><parameter>prov</parameter>&#160;:</term>
 
449
<listitem><simpara>
 
450
</simpara></listitem></varlistentry>
 
451
</variablelist></refsect2>
 
452
<refsect2 id="CamelProviderConfType" role="enum">
 
453
<title>enum CamelProviderConfType</title>
 
454
<indexterm zone="CamelProviderConfType"><primary sortas="CamelProviderConfType">CamelProviderConfType</primary></indexterm><programlisting>typedef enum {
 
455
        CAMEL_PROVIDER_CONF_END,
 
456
        CAMEL_PROVIDER_CONF_SECTION_START,
 
457
        CAMEL_PROVIDER_CONF_SECTION_END,
 
458
        CAMEL_PROVIDER_CONF_CHECKBOX,
 
459
        CAMEL_PROVIDER_CONF_CHECKSPIN,
 
460
        CAMEL_PROVIDER_CONF_ENTRY,
 
461
        CAMEL_PROVIDER_CONF_LABEL,
 
462
        CAMEL_PROVIDER_CONF_HIDDEN,
 
463
        CAMEL_PROVIDER_CONF_OPTIONS
 
464
} CamelProviderConfType;
 
465
</programlisting>
 
466
<para>
 
467
</para></refsect2>
 
468
<refsect2 id="CamelProviderConfEntry" role="struct">
 
469
<title>CamelProviderConfEntry</title>
 
470
<indexterm zone="CamelProviderConfEntry"><primary sortas="CamelProviderConfEntry">CamelProviderConfEntry</primary></indexterm><programlisting>typedef struct {
 
471
        CamelProviderConfType type;
 
472
        const gchar *name, *depname;
 
473
        const gchar *text, *value;
 
474
} CamelProviderConfEntry;
 
475
</programlisting>
 
476
<para>
 
477
</para></refsect2>
 
478
<refsect2 id="CAMEL-PROVIDER-CONF-DEFAULT-USERNAME--CAPS" role="macro">
 
479
<title>CAMEL_PROVIDER_CONF_DEFAULT_USERNAME</title>
 
480
<indexterm zone="CAMEL-PROVIDER-CONF-DEFAULT-USERNAME--CAPS"><primary sortas="CAMEL_PROVIDER_CONF_DEFAULT_USERNAME">CAMEL_PROVIDER_CONF_DEFAULT_USERNAME</primary></indexterm><programlisting>#define CAMEL_PROVIDER_CONF_DEFAULT_USERNAME  { CAMEL_PROVIDER_CONF_LABEL, "username", NULL, N_("User_name:"), NULL }
 
481
</programlisting>
 
482
<para>
 
483
</para></refsect2>
 
484
<refsect2 id="CAMEL-PROVIDER-CONF-DEFAULT-HOSTNAME--CAPS" role="macro">
 
485
<title>CAMEL_PROVIDER_CONF_DEFAULT_HOSTNAME</title>
 
486
<indexterm zone="CAMEL-PROVIDER-CONF-DEFAULT-HOSTNAME--CAPS"><primary sortas="CAMEL_PROVIDER_CONF_DEFAULT_HOSTNAME">CAMEL_PROVIDER_CONF_DEFAULT_HOSTNAME</primary></indexterm><programlisting>#define CAMEL_PROVIDER_CONF_DEFAULT_HOSTNAME  { CAMEL_PROVIDER_CONF_LABEL, "hostname", NULL, N_("_Host:"), NULL }
 
487
</programlisting>
 
488
<para>
 
489
</para></refsect2>
 
490
<refsect2 id="CAMEL-PROVIDER-CONF-DEFAULT-PATH--CAPS" role="macro">
 
491
<title>CAMEL_PROVIDER_CONF_DEFAULT_PATH</title>
 
492
<indexterm zone="CAMEL-PROVIDER-CONF-DEFAULT-PATH--CAPS"><primary sortas="CAMEL_PROVIDER_CONF_DEFAULT_PATH">CAMEL_PROVIDER_CONF_DEFAULT_PATH</primary></indexterm><programlisting>#define CAMEL_PROVIDER_CONF_DEFAULT_PATH      { CAMEL_PROVIDER_CONF_ENTRY, "path", NULL, N_("_Path:"), "" }
 
493
</programlisting>
 
494
<para>
 
495
</para></refsect2>
 
496
<refsect2 id="CamelProviderAutoDetectFunc" role="function">
 
497
<title>CamelProviderAutoDetectFunc ()</title>
 
498
<indexterm zone="CamelProviderAutoDetectFunc"><primary sortas="CamelProviderAutoDetectFunc">CamelProviderAutoDetectFunc</primary></indexterm><programlisting><link linkend="gint">gint</link>                (*CamelProviderAutoDetectFunc)      (<link linkend="CamelURL">CamelURL</link> *url,
 
499
                                                         <link linkend="GHashTable">GHashTable</link> **auto_detected,
 
500
                                                         <link linkend="CamelException">CamelException</link> *ex);</programlisting>
 
501
<para>
 
502
</para><variablelist role="params">
 
503
<varlistentry><term><parameter>url</parameter>&#160;:</term>
 
504
<listitem><simpara>
 
505
</simpara></listitem></varlistentry>
 
506
<varlistentry><term><parameter>auto_detected</parameter>&#160;:</term>
 
507
<listitem><simpara>
 
508
</simpara></listitem></varlistentry>
 
509
<varlistentry><term><parameter>ex</parameter>&#160;:</term>
 
510
<listitem><simpara>
 
511
</simpara></listitem></varlistentry>
 
512
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
 
513
</simpara></listitem></varlistentry>
 
514
</variablelist></refsect2>
 
515
<refsect2 id="CamelProviderModule" role="struct">
 
516
<title>CamelProviderModule</title>
 
517
<indexterm zone="CamelProviderModule"><primary sortas="CamelProviderModule">CamelProviderModule</primary></indexterm><programlisting>typedef struct {
 
518
        gchar *path;
 
519
        GSList *types;
 
520
        guint loaded:1;
 
521
} CamelProviderModule;
 
522
</programlisting>
 
523
<para>
 
524
</para></refsect2>
 
525
<refsect2 id="camel-provider-init" role="function">
 
526
<title>camel_provider_init ()</title>
 
527
<indexterm zone="camel-provider-init"><primary sortas="camel_provider_init">camel_provider_init</primary></indexterm><programlisting><link linkend="void">void</link>                camel_provider_init                 (void);</programlisting>
 
528
<para>
 
529
Initialize the Camel provider system by reading in the .urls
 
530
files in the provider directory and creating a hash table mapping
 
531
URLs to module names.
 
532
</para>
 
533
<para>
 
534
A .urls file has the same initial prefix as the shared library it
 
535
correspond to, and consists of a series of lines containing the URL
 
536
protocols that that library handles.
 
537
</para>
 
538
<para>
 
539
TODO: This should be pathed?
 
540
TODO: This should be plugin-d?</para>
 
541
<para>
 
542
</para></refsect2>
 
543
<refsect2 id="camel-provider-load" role="function">
 
544
<title>camel_provider_load ()</title>
 
545
<indexterm zone="camel-provider-load"><primary sortas="camel_provider_load">camel_provider_load</primary></indexterm><programlisting><link linkend="void">void</link>                camel_provider_load                 (const <link linkend="gchar">gchar</link> *path,
 
546
                                                         <link linkend="CamelException">CamelException</link> *ex);</programlisting>
 
547
<para>
 
548
Loads the provider at <parameter>path</parameter>, and calls its initialization function,
 
549
passing <parameter>session</parameter> as an argument. The provider should then register
 
550
itself with <parameter>session</parameter>.</para>
 
551
<para>
 
552
</para><variablelist role="params">
 
553
<varlistentry><term><parameter>path</parameter>&#160;:</term>
 
554
<listitem><simpara> the path to a shared library
 
555
</simpara></listitem></varlistentry>
 
556
<varlistentry><term><parameter>ex</parameter>&#160;:</term>
 
557
<listitem><simpara> a CamelException
 
558
</simpara></listitem></varlistentry>
 
559
</variablelist></refsect2>
 
560
<refsect2 id="camel-provider-register" role="function">
 
561
<title>camel_provider_register ()</title>
 
562
<indexterm zone="camel-provider-register"><primary sortas="camel_provider_register">camel_provider_register</primary></indexterm><programlisting><link linkend="void">void</link>                camel_provider_register             (<link linkend="CamelProvider">CamelProvider</link> *provider);</programlisting>
 
563
<para>
 
564
Registers a provider.</para>
 
565
<para>
 
566
</para><variablelist role="params">
 
567
<varlistentry><term><parameter>provider</parameter>&#160;:</term>
 
568
<listitem><simpara> provider object
 
569
</simpara></listitem></varlistentry>
 
570
</variablelist></refsect2>
 
571
<refsect2 id="camel-provider-list" role="function">
 
572
<title>camel_provider_list ()</title>
 
573
<indexterm zone="camel-provider-list"><primary sortas="camel_provider_list">camel_provider_list</primary></indexterm><programlisting><link linkend="GList">GList</link> *             camel_provider_list                 (<link linkend="gboolean">gboolean</link> load);</programlisting>
 
574
<para>
 
575
</para><variablelist role="params">
 
576
<varlistentry><term><parameter>load</parameter>&#160;:</term>
 
577
<listitem><simpara>
 
578
</simpara></listitem></varlistentry>
 
579
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
 
580
</simpara></listitem></varlistentry>
 
581
</variablelist></refsect2>
 
582
<refsect2 id="camel-provider-get" role="function">
 
583
<title>camel_provider_get ()</title>
 
584
<indexterm zone="camel-provider-get"><primary sortas="camel_provider_get">camel_provider_get</primary></indexterm><programlisting><link linkend="CamelProvider">CamelProvider</link> *     camel_provider_get                  (const <link linkend="gchar">gchar</link> *url_string,
 
585
                                                         <link linkend="CamelException">CamelException</link> *ex);</programlisting>
 
586
<para>
 
587
This returns the CamelProvider that would be used to handle
 
588
<parameter>url_string</parameter>, loading it in from disk if necessary.</para>
 
589
<para>
 
590
</para><variablelist role="params">
 
591
<varlistentry><term><parameter>url_string</parameter>&#160;:</term>
 
592
<listitem><simpara> the URL for the service whose provider you want
 
593
</simpara></listitem></varlistentry>
 
594
<varlistentry><term><parameter>ex</parameter>&#160;:</term>
 
595
<listitem><simpara> a CamelException
 
596
</simpara></listitem></varlistentry>
 
597
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the provider, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>, in which case <parameter>ex</parameter> will be set.
 
598
</simpara></listitem></varlistentry>
 
599
</variablelist></refsect2>
 
600
<refsect2 id="camel-provider-module-init" role="function">
 
601
<title>camel_provider_module_init ()</title>
 
602
<indexterm zone="camel-provider-module-init"><primary sortas="camel_provider_module_init">camel_provider_module_init</primary></indexterm><programlisting><link linkend="void">void</link>                camel_provider_module_init          (void);</programlisting>
 
603
<para>
 
604
</para></refsect2>
 
605
<refsect2 id="camel-provider-auto-detect" role="function">
 
606
<title>camel_provider_auto_detect ()</title>
 
607
<indexterm zone="camel-provider-auto-detect"><primary sortas="camel_provider_auto_detect">camel_provider_auto_detect</primary></indexterm><programlisting><link linkend="gint">gint</link>                camel_provider_auto_detect          (<link linkend="CamelProvider">CamelProvider</link> *provider,
 
608
                                                         <link linkend="CamelURL">CamelURL</link> *url,
 
609
                                                         <link linkend="GHashTable">GHashTable</link> **auto_detected,
 
610
                                                         <link linkend="CamelException">CamelException</link> *ex);</programlisting>
 
611
<para>
 
612
After filling in the standard Username/Hostname/Port/Path settings
 
613
(which must be set in <parameter>url</parameter>), if the provider supports it, you
 
614
may wish to have the provider auto-detect further settings based on
 
615
the aformentioned settings.
 
616
</para>
 
617
<para>
 
618
If the provider does not support auto-detection, <parameter>auto_detected</parameter>
 
619
will be set to <link linkend="NULL--CAPS"><literal>NULL</literal></link>. Otherwise the provider will attempt to
 
620
auto-detect whatever it can and file them into <parameter>auto_detected</parameter>. If
 
621
for some reason it cannot auto-detect anything (not enough
 
622
information provided in <parameter>url</parameter>?) then <parameter>auto_detected</parameter> will be
 
623
set to <link linkend="NULL--CAPS"><literal>NULL</literal></link> and an exception may be set to explain why it failed.</para>
 
624
<para>
 
625
</para><variablelist role="params">
 
626
<varlistentry><term><parameter>provider</parameter>&#160;:</term>
 
627
<listitem><simpara> camel provider
 
628
</simpara></listitem></varlistentry>
 
629
<varlistentry><term><parameter>url</parameter>&#160;:</term>
 
630
<listitem><simpara> a <link linkend="CamelURL"><type>CamelURL</type></link>
 
631
</simpara></listitem></varlistentry>
 
632
<varlistentry><term><parameter>auto_detected</parameter>&#160;:</term>
 
633
<listitem><simpara> output hash table of auto-detected values
 
634
</simpara></listitem></varlistentry>
 
635
<varlistentry><term><parameter>ex</parameter>&#160;:</term>
 
636
<listitem><simpara> exception
 
637
</simpara></listitem></varlistentry>
 
638
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or -1 on fail.
 
639
</simpara></listitem></varlistentry>
 
640
</variablelist></refsect2>
 
641
 
 
642
</refsect1>
 
643
 
 
644
 
 
645
 
 
646
 
 
647
</refentry>