From f82286eabe54ad58dc32df81fd3dcbb4e2bb2e65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Thu, 23 Feb 2023 03:22:34 +0100 Subject: Put base for new store-load interface. --- module/vcomponent/formats/ical.scm | 18 ++++++++++++++++++ module/vcomponent/formats/xcal.scm | 20 ++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 module/vcomponent/formats/ical.scm create mode 100644 module/vcomponent/formats/xcal.scm (limited to 'module/vcomponent/formats') diff --git a/module/vcomponent/formats/ical.scm b/module/vcomponent/formats/ical.scm new file mode 100644 index 00000000..294642de --- /dev/null +++ b/module/vcomponent/formats/ical.scm @@ -0,0 +1,18 @@ +(define-module (vcomponent formats ical) + :use-module ((vcomponent formats ical output) + :select (component->ical-string)) + :use-module ((vcomponent formats ical parse) + :select (parse-calendar)) + :export (serialize + deserialize + ) + ) + + +(define (serialize component port) + (display (component->ical-string component) + port)) + +(define (deserialize port) + (parse-calendar port) + ) diff --git a/module/vcomponent/formats/xcal.scm b/module/vcomponent/formats/xcal.scm new file mode 100644 index 00000000..2732a5a7 --- /dev/null +++ b/module/vcomponent/formats/xcal.scm @@ -0,0 +1,20 @@ +(define-module (vcomponent formats xcal) + :use-module (sxml simple) + :use-module ((vcomponent formats xcal output) + :select (vcomponent->sxcal ns-wrap)) + :use-module ((vcomponent formats xcal parse) + :select (sxcal->vcomponent)) + :use-module ((hnh util) :select (->)) + :export (serialize deserialize)) + + +(define (serialize component port) + (-> (vcomponent->sxcal component) + ns-wrap + (sxml->xml port) + )) + + +(define (deserialize port) + (-> (xml->sxml port) + sxcal->vcomponent)) -- cgit v1.2.3