From 54e6382ccd72520ae95a5e6bebe010753f3f3e73 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Thu, 24 Jan 2002 21:04:17 +0000 Subject: Call the beep callback function. 2002-01-24 Jeffrey Stedfast * camel-filter-driver.c (do_beep): Call the beep callback function. (camel_filter_driver_set_system_beep_func): New function to set the beep callback. svn path=/trunk/; revision=15459 --- camel/ChangeLog | 7 +++++++ camel/camel-filter-driver.c | 24 ++++++++++++++++++++---- camel/camel-filter-driver.h | 6 ++++-- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/camel/ChangeLog b/camel/ChangeLog index c3265b3675..fe684e01b5 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,10 @@ +2002-01-24 Jeffrey Stedfast + + * camel-filter-driver.c (do_beep): Call the beep callback + function. + (camel_filter_driver_set_system_beep_func): New function to set + the beep callback. + 2002-01-22 Jeffrey Stedfast * camel-filter-driver.c (camel_filter_driver_remove_rule_by_name): diff --git a/camel/camel-filter-driver.c b/camel/camel-filter-driver.c index 0c500b78bb..47f60c2f7a 100644 --- a/camel/camel-filter-driver.c +++ b/camel/camel-filter-driver.c @@ -75,10 +75,13 @@ struct _CamelFilterDriverPrivate { void *statusdata; /* status callback data */ CamelFilterShellExecFunc *execfunc; /* execute shell command callback */ - void *execdata; /* execute shell command data */ + void *execdata; /* execute shell command callback data */ CamelFilterPlaySoundFunc *playfunc; /* play-sound command callback */ - void *playdata; /* play-sound command data */ + void *playdata; /* play-sound command callback data */ + + CamelFilterSystemBeepFunc *beep; /* system beep callback */ + void *beepdata; /* system beep callback data */ /* for callback */ CamelFilterGetFolderFunc get_folder; @@ -306,6 +309,15 @@ camel_filter_driver_set_play_sound_func (CamelFilterDriver *d, CamelFilterPlaySo p->playdata = data; } +void +camel_filter_driver_set_system_beep_func (CamelFilterDriver *d, CamelFilterSystemBeepFunc *func, void *data) +{ + struct _CamelFilterDriverPrivate *p = _PRIVATE (d); + + p->beep = func; + p->beepdata = data; +} + void camel_filter_driver_set_default_folder (CamelFilterDriver *d, CamelFolder *def) { @@ -591,10 +603,14 @@ shell_exec (struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFilterD static ESExpResult * do_beep (struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFilterDriver *driver) { + struct _CamelFilterDriverPrivate *p = _PRIVATE (driver); + d(fprintf (stderr, "beep\n")); - camel_filter_driver_log (driver, FILTER_LOG_ACTION, "Beep"); - printf ("\a"); + if (p->beep) { + p->beep (driver, p->beepdata); + camel_filter_driver_log (driver, FILTER_LOG_ACTION, "Beep"); + } return NULL; } diff --git a/camel/camel-filter-driver.h b/camel/camel-filter-driver.h index 04568c94b2..f33b529700 100644 --- a/camel/camel-filter-driver.h +++ b/camel/camel-filter-driver.h @@ -61,8 +61,9 @@ typedef CamelFolder * (*CamelFilterGetFolderFunc) (CamelFilterDriver *driver, co typedef void (CamelFilterStatusFunc) (CamelFilterDriver *driver, enum camel_filter_status_t status, int pc, const char *desc, void *data); -typedef void (CamelFilterShellExecFunc) (CamelFilterDriver *driver, const char *command, void *data); -typedef void (CamelFilterPlaySoundFunc) (CamelFilterDriver *driver, const char *filename, void *data); +typedef void (CamelFilterShellExecFunc) (CamelFilterDriver *driver, const char *command, void *data); +typedef void (CamelFilterPlaySoundFunc) (CamelFilterDriver *driver, const char *filename, void *data); +typedef void (CamelFilterSystemBeepFunc) (CamelFilterDriver *driver, void *data); CamelType camel_filter_driver_get_type (void); CamelFilterDriver *camel_filter_driver_new (void); @@ -73,6 +74,7 @@ void camel_filter_driver_set_logfile (CamelFilterDriver *d, FILE *logfi void camel_filter_driver_set_status_func (CamelFilterDriver *d, CamelFilterStatusFunc *func, void *data); void camel_filter_driver_set_shell_exec_func (CamelFilterDriver *d, CamelFilterShellExecFunc *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); -- cgit v1.2.3