aboutsummaryrefslogtreecommitdiff
path: root/doc/ref/vcomponent
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ref/vcomponent')
-rw-r--r--doc/ref/vcomponent/data-formats.texi27
-rw-r--r--doc/ref/vcomponent/data-stores.texi36
2 files changed, 63 insertions, 0 deletions
diff --git a/doc/ref/vcomponent/data-formats.texi b/doc/ref/vcomponent/data-formats.texi
new file mode 100644
index 00000000..a871ea1a
--- /dev/null
+++ b/doc/ref/vcomponent/data-formats.texi
@@ -0,0 +1,27 @@
+@node Data Formats
+@section Data Formats
+
+Data formats are the serialization formats for components.
+The primary serialization format is iCalendar, but xCalendar and
+sxCalendar also exists.
+
+Each available format should be included as
+@code{(vcomponent formats @var{format-name})}.
+Which module corresponds to what file type is currently defined out of
+band.
+
+Each module should expose the following procedures.
+
+@defun serialize component port
+Write a serialized representation of @var{component} to @var{port}.
+@end defun
+
+@defun deserialize port
+Read a serialized representation of a component from @var{port}, and
+return the deserialized instance of this object.
+@end defun
+
+@subsection iCalendar
+RFC 5545
+
+@subsection xCal
diff --git a/doc/ref/vcomponent/data-stores.texi b/doc/ref/vcomponent/data-stores.texi
new file mode 100644
index 00000000..ec3962da
--- /dev/null
+++ b/doc/ref/vcomponent/data-stores.texi
@@ -0,0 +1,36 @@
+@node Data Stores
+@section Data Stores
+Data stores are persistant stores for events, such as databases or the
+file system. Each data store can support any number of data formats,
+but which is an implementation detail of that format and shouldn't be
+needed information from the high level view.
+@footnote{It is however important for interoperability with other programs}.
+
+@c (make <calendar-store> #:path ``hello'')
+
+@defun path store
+@end defun
+
+@deftp {GOOPS method} get-calendar this
+Returns a vcomponent object of type @code{VCALENDAR}. Should contain
+all @code{VEVENT} components of this calendar.
+@end deftp
+
+@deftp {GOOPS method} get-by-uid this uid
+Return the event object with UID equal to the string @var{uid}.
+@end deftp
+
+@deftp {GOOPS method} queue-save this event
+Queue a save event of @var{event} to the store.
+@end deftp
+
+@deftp {GOOPS method} flush this
+Force write of all queued actions.
+@end deftp
+
+@subsection VDir
+[VDIR]: http://vdirsyncer.pimutils.org/en/latest/vdir.html
+
+@subsection File
+
+@subsection SQLite