aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/alarm-notify
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/alarm-notify')
-rw-r--r--calendar/gui/alarm-notify/notify-main.c35
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;
}