static GPtrArray * nntp_folder_search_by_uids (CamelFolder *folder, const gchar *expression, GPtrArray *uids, GCancellable *cancellable, GError **error) { CamelNNTPFolder *nntp_folder = (CamelNNTPFolder *) folder; GPtrArray *matches; if (uids->len == 0) return g_ptr_array_new (); CAMEL_NNTP_FOLDER_LOCK (folder, search_lock); if (nntp_folder->search == NULL) nntp_folder->search = camel_folder_search_new (); camel_folder_search_set_folder (nntp_folder->search, folder); matches = camel_folder_search_search (nntp_folder->search, expression, uids, cancellable, error); CAMEL_NNTP_FOLDER_UNLOCK (folder, search_lock); return matches; }
static GPtrArray* nntp_folder_search_by_expression (CamelFolder *folder, const char *expression, CamelException *ex) { CamelNNTPFolder *nntp_folder = CAMEL_NNTP_FOLDER (folder); GPtrArray *matches; CAMEL_NNTP_FOLDER_LOCK(nntp_folder, search_lock); if (nntp_folder->search == NULL) nntp_folder->search = camel_folder_search_new (); camel_folder_search_set_folder (nntp_folder->search, folder); matches = camel_folder_search_search(nntp_folder->search, expression, NULL, ex); CAMEL_NNTP_FOLDER_UNLOCK(nntp_folder, search_lock); return matches; }
static guint32 nntp_folder_count_by_expression (CamelFolder *folder, const gchar *expression, GCancellable *cancellable, GError **error) { CamelNNTPFolder *nntp_folder = CAMEL_NNTP_FOLDER (folder); guint32 count; CAMEL_NNTP_FOLDER_LOCK (nntp_folder, search_lock); if (nntp_folder->search == NULL) nntp_folder->search = camel_folder_search_new (); camel_folder_search_set_folder (nntp_folder->search, folder); count = camel_folder_search_count (nntp_folder->search, expression, cancellable, error); CAMEL_NNTP_FOLDER_UNLOCK (nntp_folder, search_lock); return count; }
static GPtrArray * nntp_folder_search_by_expression (CamelFolder *folder, const gchar *expression, GCancellable *cancellable, GError **error) { CamelNNTPFolder *nntp_folder = CAMEL_NNTP_FOLDER (folder); GPtrArray *matches; CAMEL_NNTP_FOLDER_LOCK (nntp_folder, search_lock); if (nntp_folder->search == NULL) nntp_folder->search = camel_folder_search_new (); camel_folder_search_set_folder (nntp_folder->search, folder); matches = camel_folder_search_search (nntp_folder->search, expression, NULL, cancellable, error); CAMEL_NNTP_FOLDER_UNLOCK (nntp_folder, search_lock); return matches; }