aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent/instance.scm
blob: 206d7f192a9d1253670493559496aef2cf5d7d42 (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 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 instance methods) <events>)
    calendar-files: (get-config 'calendar-files)))

(define-public (reload)
  (let ((new-value (make (@@ (vcomponent instance methods) <events>)
                     calendar-files: (get-config 'calendar-files))))
    (display "Reload done\n" (current-error-port))
    (set! global-event-object new-value)))