| Top |  |  |  |  | 
| CamelFolder * | (*CamelFilterGetFolderFunc) () | 
| void | (*CamelFilterStatusFunc) () | 
| void | (*CamelFilterShellFunc) () | 
| void | (*CamelFilterPlaySoundFunc) () | 
| void | (*CamelFilterSystemBeepFunc) () | 
| CamelFilterDriver * | camel_filter_driver_new () | 
| void | camel_filter_driver_set_logfile () | 
| void | camel_filter_driver_set_status_func () | 
| void | camel_filter_driver_set_shell_func () | 
| void | camel_filter_driver_set_play_sound_func () | 
| void | camel_filter_driver_set_system_beep_func () | 
| void | camel_filter_driver_set_folder_func () | 
| void | camel_filter_driver_set_default_folder () | 
| void | camel_filter_driver_add_rule () | 
| gboolean | camel_filter_driver_remove_rule_by_name () | 
| void | camel_filter_driver_flush () | 
| gint | camel_filter_driver_filter_message () | 
| gint | camel_filter_driver_filter_mbox () | 
| gint | camel_filter_driver_filter_folder () | 
| void | camel_filter_driver_log_info () | 
CamelFolder * (*CamelFilterGetFolderFunc) (CamelFilterDriver *driver,const gchar *uri,gpointer user_data,GError **error);
void (*CamelFilterStatusFunc) (CamelFilterDriver *driver,enum camel_filter_status_t status,gint pc,const gchar *desc,gpointer user_data);
void (*CamelFilterShellFunc) (CamelFilterDriver *driver,gint argc,gchar **argv,gpointer user_data);
void (*CamelFilterPlaySoundFunc) (CamelFilterDriver *driver,const gchar *filename,gpointer user_data);
void (*CamelFilterSystemBeepFunc) (CamelFilterDriver *driver,gpointer user_data);
CamelFilterDriver *
camel_filter_driver_new (struct _CamelSession *session);
void camel_filter_driver_set_logfile (CamelFilterDriver *d,FILE *logfile);
Sets a log file to use for logging.
void camel_filter_driver_set_status_func (CamelFilterDriver *d,CamelFilterStatusFunc func,gpointer user_data);
Sets a status callback, which is used to report progress/status.
void camel_filter_driver_set_shell_func (CamelFilterDriver *d,CamelFilterShellFunc func,gpointer user_data);
Sets a shell command callback, which is called when a shell command execution is requested.
void camel_filter_driver_set_play_sound_func (CamelFilterDriver *d,CamelFilterPlaySoundFunc func,gpointer user_data);
Sets a callback to call when a play of a sound is requested.
void camel_filter_driver_set_system_beep_func (CamelFilterDriver *d,CamelFilterSystemBeepFunc func,gpointer user_data);
Sets a callback to use for system beep.
void camel_filter_driver_set_folder_func (CamelFilterDriver *d,CamelFilterGetFolderFunc get_folder,gpointer user_data);
Sets a callback (of type CamelFilterGetFolderFunc) to get a folder.
void camel_filter_driver_set_default_folder (CamelFilterDriver *d,CamelFolder *def);
Sets a default folder for the driver. The function adds its own reference for the folder.
void camel_filter_driver_add_rule (CamelFilterDriver *d,const gchar *name,const gchar *match,const gchar *action);
Adds a new rule to set of rules to process by the filter driver.
gboolean camel_filter_driver_remove_rule_by_name (CamelFilterDriver *d,const gchar *name);
Removes a rule by name, added by camel_filter_driver_add_rule().
void camel_filter_driver_flush (CamelFilterDriver *driver,GError **error);
Flush all of the only-once filter actions.
gint camel_filter_driver_filter_message (CamelFilterDriver *driver,CamelMimeMessage *message,CamelMessageInfo *info,const gchar *uid,CamelFolder *source,const gchar *store_uid,const gchar *original_store_uid,GCancellable *cancellable,GError **error);
Filters a message based on rules defined in the FilterDriver
object. If the source folder (source
) and the uid (uid
) are
provided, the filter will operate on the CamelFolder (which in
certain cases is more efficient than using the default
camel_folder_append_message() function).
| driver | CamelFilterDriver | |
| message | message to filter or  | [nullable] | 
| info | message info or  | [nullable] | 
| uid | message uid or  | [nullable] | 
| source | source folder or  | [nullable] | 
| store_uid | UID of source store, or  | [nullable] | 
| original_store_uid | UID of source store (pre-movemail), or  | [nullable] | 
| cancellable | optional GCancellable object, or  | |
| error | return location for a GError, or  | 
gint camel_filter_driver_filter_mbox (CamelFilterDriver *driver,const gchar *mbox,const gchar *original_source_url,GCancellable *cancellable,GError **error);
Filters an mbox file based on rules defined in the FilterDriver object. Is more efficient as it doesn't need to open the folder through Camel directly.
gint camel_filter_driver_filter_folder (CamelFilterDriver *driver,CamelFolder *folder,CamelUIDCache *cache,GPtrArray *uids,gboolean remove,GCancellable *cancellable,GError **error);
Filters a folder based on rules defined in the FilterDriver object.
| driver | CamelFilterDriver | |
| folder | CamelFolder to be filtered | |
| cache | UID cache (needed for POP folders) | |
| uids | message uids to be filtered or
 | [element-type utf8][nullable] | 
| remove | TRUE to mark filtered messages as deleted | |
| cancellable | optional GCancellable object, or  | |
| error | return location for a GError, or  | 
void camel_filter_driver_log_info (CamelFilterDriver *driver,const gchar *format,...);
Logs an informational message to a filter log. The function does
nothing when driver
 is NULL or when there is no log file being
set in driver
.
| driver | a CamelFilterDriver, or  | [nullable] | 
| format | a printf-like format to use for the informational log entry | |
| ... | arguments for  | 
Since: 3.24