aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent/util/instance.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/vcomponent/util/instance.scm')
-rw-r--r--module/vcomponent/util/instance.scm22
1 files changed, 22 insertions, 0 deletions
diff --git a/module/vcomponent/util/instance.scm b/module/vcomponent/util/instance.scm
new file mode 100644
index 00000000..15c020b1
--- /dev/null
+++ b/module/vcomponent/util/instance.scm
@@ -0,0 +1,22 @@
+(define-module (vcomponent util instance)
+ :use-module (calp util)
+ :use-module ((calp util config) :select (get-config))
+ :use-module ((oop goops) :select (make))
+ :export (global-event-object)
+)
+
+
+
+
+
+;; TODO this is loaded on compile, meaning that Guile's auto-compiler may
+;; evaluate this to early.
+(define-once global-event-object
+ (make (@@ (vcomponent util instance methods) <events>)
+ calendar-files: (get-config 'calendar-files)))
+
+(define-public (reload)
+ (let ((new-value (make (@@ (vcomponent util instance methods) <events>)
+ calendar-files: (get-config 'calendar-files))))
+ (display "Reload done\n" (current-error-port))
+ (set! global-event-object new-value)))