aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent/util/instance.scm
blob: 6e1e765f8e47b5ee32567b261b9c7fc0f0a6489e (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 ((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)))