1
<refentry id="camel-CamelPOP3Engine">
3
<refentrytitle role="top_of_page" id="camel-CamelPOP3Engine.top_of_page">CamelPOP3Engine</refentrytitle>
4
<manvolnum>3</manvolnum>
5
<refmiscinfo>CAMEL Library</refmiscinfo>
9
<refname>CamelPOP3Engine</refname>
10
<refpurpose></refpurpose>
13
<refsynopsisdiv id="camel-CamelPOP3Engine.synopsis" role="synopsis">
14
<title role="synopsis.title">Synopsis</title>
17
<link linkend="CamelPOP3Engine">CamelPOP3Engine</link>;
18
<link linkend="CamelPOP3Command">CamelPOP3Command</link>;
19
enum <link linkend="camel-pop3-engine-t">camel_pop3_engine_t</link>;
20
enum <link linkend="camel-pop3-command-t">camel_pop3_command_t</link>;
21
<link linkend="void">void</link> (<link linkend="CamelPOP3CommandFunc">*CamelPOP3CommandFunc</link>) (<link linkend="CamelPOP3Engine">CamelPOP3Engine</link> *pe,
22
<link linkend="CamelPOP3Stream">CamelPOP3Stream</link> *stream,
23
<link linkend="gpointer">gpointer</link> data);
24
<link linkend="CamelPOP3Engine">CamelPOP3Engine</link> * <link linkend="camel-pop3-engine-new">camel_pop3_engine_new</link> (<link linkend="CamelStream">CamelStream</link> *source,
25
<link linkend="guint32">guint32</link> flags);
26
<link linkend="void">void</link> <link linkend="camel-pop3-engine-reget-capabilities">camel_pop3_engine_reget_capabilities</link>
27
(<link linkend="CamelPOP3Engine">CamelPOP3Engine</link> *engine);
28
<link linkend="void">void</link> <link linkend="camel-pop3-engine-command-free">camel_pop3_engine_command_free</link> (<link linkend="CamelPOP3Engine">CamelPOP3Engine</link> *pe,
29
<link linkend="CamelPOP3Command">CamelPOP3Command</link> *pc);
30
<link linkend="gint">gint</link> <link linkend="camel-pop3-engine-iterate">camel_pop3_engine_iterate</link> (<link linkend="CamelPOP3Engine">CamelPOP3Engine</link> *pe,
31
<link linkend="CamelPOP3Command">CamelPOP3Command</link> *pc);
32
<link linkend="CamelPOP3Command">CamelPOP3Command</link> * <link linkend="camel-pop3-engine-command-new">camel_pop3_engine_command_new</link> (<link linkend="CamelPOP3Engine">CamelPOP3Engine</link> *pe,
33
<link linkend="guint32">guint32</link> flags,
34
<link linkend="CamelPOP3CommandFunc">CamelPOP3CommandFunc</link> func,
35
<link linkend="gpointer">gpointer</link> data,
36
const <link linkend="gchar">gchar</link> *fmt,
49
<refsect1 id="camel-CamelPOP3Engine.description" role="desc">
50
<title role="desc.title">Description</title>
55
<refsect1 id="camel-CamelPOP3Engine.details" role="details">
56
<title role="details.title">Details</title>
57
<refsect2 id="CamelPOP3Engine" role="struct">
58
<title>CamelPOP3Engine</title>
59
<indexterm zone="CamelPOP3Engine"><primary sortas="CamelPOP3Engine">CamelPOP3Engine</primary></indexterm><programlisting>typedef struct {
64
camel_pop3_engine_t state;
66
GList *auth; /* authtypes supported */
68
guint32 capa; /* capabilities */
69
gchar *apop; /* apop time string */
71
guchar *line; /* current line buffer */
74
struct _CamelPOP3Stream *stream;
76
guint sentlen; /* data sent (so we dont overflow network buffer) */
78
CamelDList active; /* active commands */
79
CamelDList queue; /* queue of waiting commands */
80
CamelDList done; /* list of done commands, awaiting free */
82
CamelPOP3Command *current; /* currently busy (downloading) response */
87
<refsect2 id="CamelPOP3Command" role="struct">
88
<title>CamelPOP3Command</title>
89
<indexterm zone="CamelPOP3Command"><primary sortas="CamelPOP3Command">CamelPOP3Command</primary></indexterm><programlisting>typedef struct {
90
struct _CamelPOP3Command *next;
91
struct _CamelPOP3Command *prev;
94
camel_pop3_command_t state;
96
CamelPOP3CommandFunc func;
105
<refsect2 id="camel-pop3-engine-t" role="enum">
106
<title>enum camel_pop3_engine_t</title>
107
<indexterm zone="camel-pop3-engine-t"><primary sortas="camel_pop3_engine_t">camel_pop3_engine_t</primary></indexterm><programlisting>typedef enum {
108
CAMEL_POP3_ENGINE_DISCONNECT = 0,
109
CAMEL_POP3_ENGINE_AUTH,
110
CAMEL_POP3_ENGINE_TRANSACTION,
111
CAMEL_POP3_ENGINE_UPDATE
112
} camel_pop3_engine_t;
116
<refsect2 id="camel-pop3-command-t" role="enum">
117
<title>enum camel_pop3_command_t</title>
118
<indexterm zone="camel-pop3-command-t"><primary sortas="camel_pop3_command_t">camel_pop3_command_t</primary></indexterm><programlisting>typedef enum {
119
CAMEL_POP3_COMMAND_IDLE = 0, /* command created or queued, not yet sent (e.g. non pipelined server) */
120
CAMEL_POP3_COMMAND_DISPATCHED, /* command sent to server */
122
/* completion codes */
123
CAMEL_POP3_COMMAND_OK, /* plain ok response */
124
CAMEL_POP3_COMMAND_DATA, /* processing command response */
125
CAMEL_POP3_COMMAND_ERR /* error response */
126
} camel_pop3_command_t;
130
<refsect2 id="CamelPOP3CommandFunc" role="function">
131
<title>CamelPOP3CommandFunc ()</title>
132
<indexterm zone="CamelPOP3CommandFunc"><primary sortas="CamelPOP3CommandFunc">CamelPOP3CommandFunc</primary></indexterm><programlisting><link linkend="void">void</link> (*CamelPOP3CommandFunc) (<link linkend="CamelPOP3Engine">CamelPOP3Engine</link> *pe,
133
<link linkend="CamelPOP3Stream">CamelPOP3Stream</link> *stream,
134
<link linkend="gpointer">gpointer</link> data);</programlisting>
136
</para><variablelist role="params">
137
<varlistentry><term><parameter>pe</parameter> :</term>
139
</simpara></listitem></varlistentry>
140
<varlistentry><term><parameter>stream</parameter> :</term>
142
</simpara></listitem></varlistentry>
143
<varlistentry><term><parameter>data</parameter> :</term>
145
</simpara></listitem></varlistentry>
146
</variablelist></refsect2>
147
<refsect2 id="camel-pop3-engine-new" role="function">
148
<title>camel_pop3_engine_new ()</title>
149
<indexterm zone="camel-pop3-engine-new"><primary sortas="camel_pop3_engine_new">camel_pop3_engine_new</primary></indexterm><programlisting><link linkend="CamelPOP3Engine">CamelPOP3Engine</link> * camel_pop3_engine_new (<link linkend="CamelStream">CamelStream</link> *source,
150
<link linkend="guint32">guint32</link> flags);</programlisting>
152
Returns a NULL stream. A null stream is always at eof, and
153
always returns success for all reads and writes.</para>
155
</para><variablelist role="params">
156
<varlistentry><term><parameter>source</parameter> :</term>
157
<listitem><simpara> source stream
158
</simpara></listitem></varlistentry>
159
<varlistentry><term><parameter>flags</parameter> :</term>
160
<listitem><simpara> engine flags
161
</simpara></listitem></varlistentry>
162
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the stream
163
</simpara></listitem></varlistentry>
164
</variablelist></refsect2>
165
<refsect2 id="camel-pop3-engine-reget-capabilities" role="function">
166
<title>camel_pop3_engine_reget_capabilities ()</title>
167
<indexterm zone="camel-pop3-engine-reget-capabilities"><primary sortas="camel_pop3_engine_reget_capabilities">camel_pop3_engine_reget_capabilities</primary></indexterm><programlisting><link linkend="void">void</link> camel_pop3_engine_reget_capabilities
168
(<link linkend="CamelPOP3Engine">CamelPOP3Engine</link> *engine);</programlisting>
170
Regets server capabilities (needed after a STLS command is issued for example).</para>
172
</para><variablelist role="params">
173
<varlistentry><term><parameter>engine</parameter> :</term>
174
<listitem><simpara> pop3 engine
175
</simpara></listitem></varlistentry>
176
</variablelist></refsect2>
177
<refsect2 id="camel-pop3-engine-command-free" role="function">
178
<title>camel_pop3_engine_command_free ()</title>
179
<indexterm zone="camel-pop3-engine-command-free"><primary sortas="camel_pop3_engine_command_free">camel_pop3_engine_command_free</primary></indexterm><programlisting><link linkend="void">void</link> camel_pop3_engine_command_free (<link linkend="CamelPOP3Engine">CamelPOP3Engine</link> *pe,
180
<link linkend="CamelPOP3Command">CamelPOP3Command</link> *pc);</programlisting>
182
</para><variablelist role="params">
183
<varlistentry><term><parameter>pe</parameter> :</term>
185
</simpara></listitem></varlistentry>
186
<varlistentry><term><parameter>pc</parameter> :</term>
188
</simpara></listitem></varlistentry>
189
</variablelist></refsect2>
190
<refsect2 id="camel-pop3-engine-iterate" role="function">
191
<title>camel_pop3_engine_iterate ()</title>
192
<indexterm zone="camel-pop3-engine-iterate"><primary sortas="camel_pop3_engine_iterate">camel_pop3_engine_iterate</primary></indexterm><programlisting><link linkend="gint">gint</link> camel_pop3_engine_iterate (<link linkend="CamelPOP3Engine">CamelPOP3Engine</link> *pe,
193
<link linkend="CamelPOP3Command">CamelPOP3Command</link> *pc);</programlisting>
195
</para><variablelist role="params">
196
<varlistentry><term><parameter>pe</parameter> :</term>
198
</simpara></listitem></varlistentry>
199
<varlistentry><term><parameter>pc</parameter> :</term>
201
</simpara></listitem></varlistentry>
202
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
203
</simpara></listitem></varlistentry>
204
</variablelist></refsect2>
205
<refsect2 id="camel-pop3-engine-command-new" role="function">
206
<title>camel_pop3_engine_command_new ()</title>
207
<indexterm zone="camel-pop3-engine-command-new"><primary sortas="camel_pop3_engine_command_new">camel_pop3_engine_command_new</primary></indexterm><programlisting><link linkend="CamelPOP3Command">CamelPOP3Command</link> * camel_pop3_engine_command_new (<link linkend="CamelPOP3Engine">CamelPOP3Engine</link> *pe,
208
<link linkend="guint32">guint32</link> flags,
209
<link linkend="CamelPOP3CommandFunc">CamelPOP3CommandFunc</link> func,
210
<link linkend="gpointer">gpointer</link> data,
211
const <link linkend="gchar">gchar</link> *fmt,
212
...);</programlisting>
214
</para><variablelist role="params">
215
<varlistentry><term><parameter>pe</parameter> :</term>
217
</simpara></listitem></varlistentry>
218
<varlistentry><term><parameter>flags</parameter> :</term>
220
</simpara></listitem></varlistentry>
221
<varlistentry><term><parameter>func</parameter> :</term>
223
</simpara></listitem></varlistentry>
224
<varlistentry><term><parameter>data</parameter> :</term>
226
</simpara></listitem></varlistentry>
227
<varlistentry><term><parameter>fmt</parameter> :</term>
229
</simpara></listitem></varlistentry>
230
<varlistentry><term><parameter>...</parameter> :</term>
232
</simpara></listitem></varlistentry>
233
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
234
</simpara></listitem></varlistentry>
235
</variablelist></refsect2>