| Camel Reference Manual | ||||
|---|---|---|---|---|
struct CamelFilterDriver; CamelFolder* (*CamelFilterGetFolderFunc) (CamelFilterDriver *driver, const char *uri, void *data, CamelException *ex); CamelFilterDriver* camel_filter_driver_new (CamelSession *); void camel_filter_driver_set_logfile (CamelFilterDriver *d, FILE *logfile); void camel_filter_driver_set_status_func (CamelFilterDriver *d, CamelFilterStatusFunc *func, void *data); void camel_filter_driver_set_shell_func (CamelFilterDriver *d, CamelFilterShellFunc *func, void *data); void camel_filter_driver_set_play_sound_func (CamelFilterDriver *d, CamelFilterPlaySoundFunc *func, void *data); void camel_filter_driver_set_system_beep_func (CamelFilterDriver *d, CamelFilterSystemBeepFunc *func, void *data); void camel_filter_driver_set_folder_func (CamelFilterDriver *d, CamelFilterGetFolderFunc fetcher, void *data); void camel_filter_driver_set_default_folder (CamelFilterDriver *d, CamelFolder *def); void camel_filter_driver_add_rule (CamelFilterDriver *d, const char *name, const char *match, const char *action); int camel_filter_driver_remove_rule_by_name (CamelFilterDriver *d, const char *name); void camel_filter_driver_flush (CamelFilterDriver *driver, CamelException *ex); int camel_filter_driver_filter_message (CamelFilterDriver *driver, CamelMimeMessage *message, CamelMessageInfo *info, const char *uid, CamelFolder *source, const char *source_url, const char *original_source_url, CamelException *ex); int camel_filter_driver_filter_mbox (CamelFilterDriver *driver, const char *mbox, const char *original_source_url, CamelException *ex); int camel_filter_driver_filter_folder (CamelFilterDriver *driver, CamelFolder *folder, CamelUIDCache *cache, GPtrArray *uids, gboolean remove, CamelException *ex); void camel_filter_driver_expand_option (CamelFilterDriver *d, GString *s, GString *action, struct filter_option *op); int camel_filter_driver_rule_count (CamelFilterDriver *d); struct filter_option* camel_filter_driver_rule_get (CamelFilterDriver *d, int n);
struct CamelFilterDriver {
CamelObject parent;
struct _CamelFilterDriverPrivate *priv;
};
CamelFolder* (*CamelFilterGetFolderFunc) (CamelFilterDriver *driver, const char *uri, void *data, CamelException *ex);
|
|
|
|
|
|
|
|
Returns : |
CamelFilterDriver* camel_filter_driver_new (CamelSession *);
|
|
Returns : |
A new CamelFilterDriver object |
void camel_filter_driver_set_logfile (CamelFilterDriver *d, FILE *logfile);
|
|
|
void camel_filter_driver_set_status_func (CamelFilterDriver *d, CamelFilterStatusFunc *func, void *data);
|
|
|
|
|
void camel_filter_driver_set_shell_func (CamelFilterDriver *d, CamelFilterShellFunc *func, void *data);
|
|
|
|
|
void camel_filter_driver_set_play_sound_func
(CamelFilterDriver *d,
CamelFilterPlaySoundFunc *func,
void *data);
|
|
|
|
|
void camel_filter_driver_set_system_beep_func
(CamelFilterDriver *d,
CamelFilterSystemBeepFunc *func,
void *data);
|
|
|
|
|
void camel_filter_driver_set_folder_func (CamelFilterDriver *d, CamelFilterGetFolderFunc fetcher, void *data);
|
|
|
|
|
void camel_filter_driver_set_default_folder
(CamelFilterDriver *d,
CamelFolder *def);
|
|
|
void camel_filter_driver_add_rule (CamelFilterDriver *d, const char *name, const char *match, const char *action);
|
|
|
|
|
|
|
int camel_filter_driver_remove_rule_by_name
(CamelFilterDriver *d,
const char *name);
|
|
|
|
Returns : |
void camel_filter_driver_flush (CamelFilterDriver *driver, CamelException *ex);
Flush all of the only-once filter actions.
|
|
|
int camel_filter_driver_filter_message (CamelFilterDriver *driver, CamelMimeMessage *message, CamelMessageInfo *info, const char *uid, CamelFolder *source, const char *source_url, const char *original_source_url, CamelException *ex);
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).
|
CamelFilterDriver |
|
message to filter or NULL |
|
message info or NULL |
|
message uid or NULL |
|
source folder or NULL |
|
url of source folder or NULL |
|
url of original source folder (pre-movemail) or NULL |
|
exception |
Returns : |
-1 if errors were encountered during filtering, otherwise returns 0. |
int camel_filter_driver_filter_mbox (CamelFilterDriver *driver, const char *mbox, const char *original_source_url, CamelException *ex);
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.
|
CamelFilterDriver |
|
mbox filename to be filtered |
|
|
|
exception |
Returns : |
-1 if errors were encountered during filtering, otherwise returns 0. |
int camel_filter_driver_filter_folder (CamelFilterDriver *driver, CamelFolder *folder, CamelUIDCache *cache, GPtrArray *uids, gboolean remove, CamelException *ex);
Filters a folder based on rules defined in the FilterDriver object.
|
CamelFilterDriver |
|
CamelFolder to be filtered |
|
UID cache (needed for POP folders) |
|
message uids to be filtered or NULL (as a shortcut to filter all messages) |
|
TRUE to mark filtered messages as deleted |
|
exception |
Returns : |
-1 if errors were encountered during filtering, otherwise returns 0. |
void camel_filter_driver_expand_option (CamelFilterDriver *d, GString *s, GString *action, struct filter_option *op);
|
|
|
|
|
|
|
int camel_filter_driver_rule_count (CamelFilterDriver *d);
|
|
Returns : |
struct filter_option* camel_filter_driver_rule_get (CamelFilterDriver *d, int n);
|
|
|
|
Returns : |