+2002-01-24 Jeffrey Stedfast <fejj@ximian.com>
+
+ * 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 <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_remove_rule_by_name):
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;
}
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)
{
struct _CamelFilterDriverPrivate *p = _PRIVATE (d);
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;
}
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);
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);