aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-local.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/mail-local.c')
-rw-r--r--mail/mail-local.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/mail/mail-local.c b/mail/mail-local.c
index 2661572c4a..85bedf43cc 100644
--- a/mail/mail-local.c
+++ b/mail/mail-local.c
@@ -324,6 +324,24 @@ mlf_search_by_expression(CamelFolder *folder, const char *expression, CamelExcep
return ret;
}
+static GPtrArray *
+mlf_search_by_uids(CamelFolder *folder, const char *expression, GPtrArray *uids, CamelException *ex)
+{
+ MailLocalFolder *mlf = MAIL_LOCAL_FOLDER (folder);
+ GPtrArray *ret;
+ CamelFolder *f;
+
+ LOCAL_FOLDER_LOCK(mlf);
+ f = mlf->real_folder;
+ camel_object_ref((CamelObject *)f);
+ LOCAL_FOLDER_UNLOCK(mlf);
+
+ ret = camel_folder_search_by_uids(f, expression, uids, ex);
+ camel_object_unref((CamelObject *)f);
+
+ return ret;
+}
+
static void
mlf_search_free(CamelFolder *folder, GPtrArray *result)
{
@@ -476,6 +494,7 @@ mlf_class_init (CamelObjectClass *camel_object_class)
camel_folder_class->search_free = mlf_search_free;
camel_folder_class->search_by_expression = mlf_search_by_expression;
+ camel_folder_class->search_by_uids = mlf_search_by_uids;
camel_folder_class->set_message_flags = mlf_set_message_flags;
camel_folder_class->set_message_user_flag = mlf_set_message_user_flag;
camel_folder_class->set_message_user_tag = mlf_set_message_user_tag;