aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent/util/instance.scm
blob: 038c650557171711e08d44caf0fffa771764d952 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(define-module (vcomponent util instance)
  :use-module (hnh util)
  :use-module ((oop goops) :select (make))
  :use-module (calp translation)
  :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: ((@ (vcomponent config) calendar-files))))

(define-public (reload)
  (let ((new-value (make (@@ (vcomponent util instance methods) <events>)
                     calendar-files: ((@ (vcomponent config) calendar-files)))))
    (format (current-error-port) (_ "Reload done~%"))
    (set! global-event-object new-value)))