diff options
Diffstat (limited to 'calendar/gui/alarm-notify/notify-main.c')
-rw-r--r-- | calendar/gui/alarm-notify/notify-main.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/calendar/gui/alarm-notify/notify-main.c b/calendar/gui/alarm-notify/notify-main.c index ec43738e96..9c1d04b739 100644 --- a/calendar/gui/alarm-notify/notify-main.c +++ b/calendar/gui/alarm-notify/notify-main.c @@ -31,6 +31,8 @@ #include <bonobo/bonobo-main.h> #include <bonobo/bonobo-generic-factory.h> #include <liboaf/liboaf.h> +#include "alarm.h" +#include "alarm-queue.h" #include "alarm-notify.h" @@ -40,6 +42,31 @@ static BonoboGenericFactory *factory; static AlarmNotify *alarm_notify_service; +/* La de da */ +static void +funny_trigger_cb (gpointer alarm_id, time_t trigger, gpointer data) +{ + char *msg; + char str[256]; + struct tm *tm; + + tm = localtime (&trigger); + strftime (str, sizeof (str), "%Y/%m/%d %H:%M:%S", tm); + + msg = g_strdup_printf (_("It is %s. The Unix time is %ld right now. We just thought " + "you may like to know."), str, (long) trigger); + gnome_ok_dialog (msg); + g_free (msg); +} + +/* Dum de dum */ +static void +funny_times_init (void) +{ + alarm_add ((time_t) 987654321L, funny_trigger_cb, NULL, NULL); /* Apr 19 04:25:21 2001 UTC */ + alarm_add ((time_t) 999999999L, funny_trigger_cb, NULL, NULL); /* Sep 9 01:46:39 2001 UTC */ +} + /* Factory function for the alarm notify service; just creates and references a * singleton service object. */ @@ -71,6 +98,11 @@ main (int argc, char **argv) if (bonobo_init (CORBA_OBJECT_NIL, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL) == FALSE) g_error (_("Could not initialize Bonobo")); + alarm_init (); + alarm_queue_init (); + + funny_times_init (); + factory = bonobo_generic_factory_new ("OAFID:GNOME_Evolution_Calendar_AlarmNotify_Factory", alarm_notify_factory_fn, NULL); if (!factory) @@ -81,5 +113,8 @@ main (int argc, char **argv) bonobo_object_unref (BONOBO_OBJECT (factory)); factory = NULL; + alarm_queue_done (); + alarm_done (); + return 0; } |