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
@@ -221,128 +221,138 @@ int mailsession_messages_number(mailsession * session, char * mb,
int mailsession_recent_number(mailsession * session, char * mb,
uint32_t * result)
{
if (session->sess_driver->sess_recent_number == NULL)
return MAIL_ERROR_NOT_IMPLEMENTED;
return session->sess_driver->sess_recent_number(session, mb, result);
}
int mailsession_unseen_number(mailsession * session, char * mb,
uint32_t * result)
{
if (session->sess_driver->sess_unseen_number == NULL)
return MAIL_ERROR_NOT_IMPLEMENTED;
return session->sess_driver->sess_recent_number(session, mb, result);
}
int mailsession_list_folders(mailsession * session, char * mb,
struct mail_list ** result)
{
if (session->sess_driver->sess_list_folders == NULL)
return MAIL_ERROR_NOT_IMPLEMENTED;
return session->sess_driver->sess_list_folders(session, mb, result);
}
int mailsession_lsub_folders(mailsession * session, char * mb,
struct mail_list ** result)
{
if (session->sess_driver->sess_lsub_folders == NULL)
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);
}
int mailsession_get_envelopes_list(mailsession * session,
struct mailmessage_list * env_list)
{
if (session->sess_driver->sess_get_envelopes_list == NULL)
return MAIL_ERROR_NOT_IMPLEMENTED;
return session->sess_driver->sess_get_envelopes_list(session, env_list);
}
int mailsession_get_messages_list(mailsession * session,
struct mailmessage_list ** result)
{
if (session->sess_driver->sess_get_messages_list == NULL)
return MAIL_ERROR_NOT_IMPLEMENTED;
return session->sess_driver->sess_get_messages_list(session, result);
}
int mailsession_remove_message(mailsession * session, uint32_t num)
{
if (session->sess_driver->sess_remove_message == NULL)
return MAIL_ERROR_NOT_IMPLEMENTED;
return session->sess_driver->sess_remove_message(session, num);
}
#if 0
int mailsession_search_messages(mailsession * session, char * charset,
struct mail_search_key * key,
struct mail_search_result ** result)
{