summaryrefslogtreecommitdiffabout
path: root/kmicromail/libetpan/generic/maildriver.c
Side-by-side diff
Diffstat (limited to 'kmicromail/libetpan/generic/maildriver.c') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/libetpan/generic/maildriver.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/kmicromail/libetpan/generic/maildriver.c b/kmicromail/libetpan/generic/maildriver.c
index 01e3e34..1fc478a 100644
--- a/kmicromail/libetpan/generic/maildriver.c
+++ b/kmicromail/libetpan/generic/maildriver.c
@@ -253,64 +253,74 @@ int mailsession_lsub_folders(mailsession * session, char * mb,
return MAIL_ERROR_NOT_IMPLEMENTED;
return session->sess_driver->sess_lsub_folders(session, mb, result);
}
int mailsession_subscribe_folder(mailsession * session, char * mb)
{
if (session->sess_driver->sess_subscribe_folder == NULL)
return MAIL_ERROR_NOT_IMPLEMENTED;
return session->sess_driver->sess_subscribe_folder(session, mb);
}
int mailsession_unsubscribe_folder(mailsession * session, char * mb)
{
if (session->sess_driver->sess_unsubscribe_folder == NULL)
return MAIL_ERROR_NOT_IMPLEMENTED;
return session->sess_driver->sess_unsubscribe_folder(session, mb);
}
/* message */
int mailsession_append_message(mailsession * session,
char * message, size_t size)
{
if (session->sess_driver->sess_append_message == NULL)
return MAIL_ERROR_NOT_IMPLEMENTED;
return session->sess_driver->sess_append_message(session, message, size);
}
+int mailsession_append_message_flags(mailsession * session,
+ char * message, size_t size, struct mail_flags * flags)
+{
+ if (session->sess_driver->sess_append_message_flags == NULL)
+ return MAIL_ERROR_NOT_IMPLEMENTED;
+
+ return session->sess_driver->sess_append_message_flags(session,
+ message, size, flags);
+}
+
int mailsession_copy_message(mailsession * session,
uint32_t num, char * mb)
{
if (session->sess_driver->sess_copy_message == NULL)
return MAIL_ERROR_NOT_IMPLEMENTED;
return session->sess_driver->sess_copy_message(session, num, mb);
}
int mailsession_move_message(mailsession * session,
uint32_t num, char * mb)
{
if (session->sess_driver->sess_move_message == NULL) {
int r;
if ((session->sess_driver->sess_copy_message == NULL) &&
(session->sess_driver->sess_remove_message == NULL))
return MAIL_ERROR_NOT_IMPLEMENTED;
r = mailsession_copy_message(session, num, mb);
if (r != MAIL_NO_ERROR)
return r;
r = mailsession_remove_message(session, num);
if (r != MAIL_NO_ERROR)
return r;
return MAIL_NO_ERROR;
}
return session->sess_driver->sess_move_message(session, num, mb);
}