imapx_free_status (sinfo);
return TRUE;
default:
+ /* If there is a extended untagged response handler registered, call it */
+ if (is->untagged_handler_func)
+ return is->untagged_handler_func (is, cancellable, error);
+
/* unknown response, just ignore it */
c(is->tagprefix, "unknown token: %s\n", token);
}
return jinfo;
}
+
+void
+camel_imapx_server_set_extended_token_handler (CamelIMAPXServer *is,
+ IMAPXExtUntaggedResponseHander handler_func)
+{
+ g_return_if_fail (is != NULL);
+
+ is->untagged_handler_func = handler_func;
+}
typedef struct _CamelIMAPXIdle CamelIMAPXIdle;
struct _IMAPXJobQueueInfo;
+typedef gboolean (*IMAPXExtUntaggedResponseHander)
+ (CamelIMAPXServer *server,
+ GCancellable *cancellable,
+ GError **error);
+
struct _CamelIMAPXServer {
CamelObject parent;
CamelIMAPXNamespaceList *nsl;
+ IMAPXExtUntaggedResponseHander untagged_handler_func;
+
/* incoming jobs */
GQueue jobs;
camel_imapx_server_get_job_queue_info
(CamelIMAPXServer *is);
+void camel_imapx_server_set_extended_token_handler
+ (CamelIMAPXServer *is,
+ IMAPXExtUntaggedResponseHander handler_func);
+
+
G_END_DECLS
#endif /* CAMEL_IMAPX_SERVER_H */