summaryrefslogtreecommitdiffabout
path: root/kmicromail/libetpan/generic/maildriver.h
Side-by-side diff
Diffstat (limited to 'kmicromail/libetpan/generic/maildriver.h') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/libetpan/generic/maildriver.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/kmicromail/libetpan/generic/maildriver.h b/kmicromail/libetpan/generic/maildriver.h
index 7da9aea..c773190 100644
--- a/kmicromail/libetpan/generic/maildriver.h
+++ b/kmicromail/libetpan/generic/maildriver.h
@@ -275,256 +275,259 @@ int mailsession_expunge_folder(mailsession * session);
*/
int mailsession_status_folder(mailsession * session, char * mb,
uint32_t * result_messages, uint32_t * result_recent,
uint32_t * result_unseen);
/*
mailsession_messages_number queries the number of messages in the folder
@param session the session
@param mb mailbox to query
@param result the number of messages is stored in (* result)
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
int mailsession_messages_number(mailsession * session, char * mb,
uint32_t * result);
/*
mailsession_recent_number queries the number of recent messages in the folder
@param session the session
@param mb mailbox to query
@param result the number of recent messages is stored in (* result)
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
int mailsession_recent_number(mailsession * session,
char * mb, uint32_t * result);
/*
mailsession_unseen_number queries the number of unseen messages in the folder
@param session the session
@param mb mailbox to query
@param result the number of unseen messages is stored in (* result)
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
int mailsession_unseen_number(mailsession * session, char * mb,
uint32_t * result);
/*
NOTE: driver's specific should be used
mailsession_list_folders returns the list of all sub-mailboxes
of the given mailbox
@param session the session
@param mb the mailbox
@param result list of mailboxes if stored in (* result),
this structure have to be freed with mail_list_free()
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
int mailsession_list_folders(mailsession * session, char * mb,
struct mail_list ** result);
/*
NOTE: driver's specific should be used
mailsession_lsub_folders returns the list of subscribed
sub-mailboxes of the given mailbox
@param session the session
@param mb the mailbox
@param result list of mailboxes if stored in (* result),
this structure have to be freed with mail_list_free()
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
int mailsession_lsub_folders(mailsession * session, char * mb,
struct mail_list ** result);
/*
NOTE: driver's specific should be used
mailsession_subscribe_folder subscribes to the given mailbox
@param session the session
@param mb the mailbox
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
int mailsession_subscribe_folder(mailsession * session, char * mb);
/*
NOTE: driver's specific should be used
mailsession_unsubscribe_folder unsubscribes to the given mailbox
@param session the session
@param mb the mailbox
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
int mailsession_unsubscribe_folder(mailsession * session, char * mb);
/*
mailsession_append_message adds a RFC 2822 message to the current
given mailbox
@param session the session
@param message is a string that contains the RFC 2822 message
@param size this is the size of the message
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
int mailsession_append_message(mailsession * session,
char * message, size_t size);
+int mailsession_append_message_flags(mailsession * session,
+ char * message, size_t size, struct mail_flags * flags);
+
/*
NOTE: some drivers does not implement this
mailsession_copy_message copies a message whose number is given to
a given mailbox. The mailbox must be accessible from the same session.
@param session the session
@param num the message number
@param mb the destination mailbox
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
int mailsession_copy_message(mailsession * session,
uint32_t num, char * mb);
/*
NOTE: some drivers does not implement this
mailsession_move_message copies a message whose number is given to
a given mailbox. The mailbox must be accessible from the same session.
@param session the session
@param num the message number
@param mb the destination mailbox
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
int mailsession_move_message(mailsession * session,
uint32_t num, char * mb);
/*
mailsession_get_messages_list returns the list of message numbers
of the current mailbox.
@param session the session
@param result the list of message numbers will be stored in (* result),
this structure have to be freed with mailmessage_list_free()
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
int mailsession_get_messages_list(mailsession * session,
struct mailmessage_list ** result);
/*
mailsession_get_envelopes_list fills the parsed fields in the
mailmessage structures of the mailmessage_list.
@param session the session
@param result this is the list of mailmessage structures
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
int mailsession_get_envelopes_list(mailsession * session,
struct mailmessage_list * result);
/*
NOTE: some drivers does not implement this
mailsession_remove_message removes the given message from the mailbox.
The message is permanently deleted.
@param session the session
@param num is the message number
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
int mailsession_remove_message(mailsession * session, uint32_t num);
/*
NOTE: this function is not implemented in most drivers
mailsession_search_message returns a list of message numbers that
corresponds to the given criteria.
@param session the session
@param charset is the charset to use (it can be NULL)
@param key is the list of criteria
@param result the search result is stored in (* result),
this structure have to be freed with mail_search_result_free()
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
#if 0
int mailsession_search_messages(mailsession * session, char * charset,
struct mail_search_key * key,
struct mail_search_result ** result);
#endif
/*
mailsession_get_message returns a mailmessage structure that corresponds
to the given message number.
* WARNING * mailsession_get_message_by_uid() should be used instead.
@param session the session
@param num the message number
@param result the allocated mailmessage structure will be stored
in (* result), this structure have to be freed with mailmessage_free()
@return MAIL_NO_ERROR is returned on success, MAIL_ERROR_XXX is returned
on error
*/
int mailsession_get_message(mailsession * session,
uint32_t num, mailmessage ** result);
/*
mailsession_get_message_by_uid returns a mailmessage structure
that corresponds to the given message unique identifier.
This is currently implemented only for cached drivers.
* WARNING * That will deprecates the use of mailsession_get_message()
@param session the session
@param uid the message unique identifier
@param result the allocated mailmessage structure will be stored
in (* result), this structure have to be freed with mailmessage_free()