aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent/data-stores/common.scm
blob: f9dee506f56239e1687f1fe8b810087699611d0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
(define-module (vcomponent data-stores common)
  :use-module ((srfi srfi-88) :select ())
  :use-module (oop goops)
  :export (<calendar-data-store>
           ;; path
           get-all
           get-by-uid))

;;; This should NOT inherit from WebDAV <resource>.
;;; Instead, CalDAV resources should hold a reference to a calendar data store.

(define-class <calendar-data-store> ()
  ;; (path init-keyword: path:
  ;;       getter: path)
  )


;;; In (calp server routes)




;;; Load - Load store into memero
;;; Dump - Save store into "disk"


(define-method (get-all (this <calendar-data-store>))
  (scm-error 'not-implemented "get-all"
             "Get-all is not implemented for ~s"
             (class-of this)
             #f))

(define-method (get-by-uid (this <calendar-data-store>) (uid <string>))
  (scm-error 'not-implemented "get-by-uid"
             "Get-by-uid is not implemented for ~s"
             (class-of this)
             #f))


(define-method (color (this <calendar-data-store>))
  "")


(define-method (displayname (this <calendar-data-store>))
  "")