diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/src/05100-lib-contacts.md | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/doc/src/05100-lib-contacts.md b/doc/src/05100-lib-contacts.md index 4bdd5371..25e69069 100644 --- a/doc/src/05100-lib-contacts.md +++ b/doc/src/05100-lib-contacts.md @@ -1,2 +1,49 @@ ## libimagcontacts +The contact library basically only creates references to the actual icalendar +and vcard files, though it also can parse (via the `vobject` crate) the +information and return it from an entry directly. + +The architecture of indirections is as follows: + +```{.numberLines} + ++--------------------------------+ +| | +| Store, as ContactStore | +| | ++----------------+---------------+ + | + | Provides access to + | ++----------------v---------------+ +| | +| (FileLock)Entry as Contact | +| | +| which is actually a: | +| | +| (FileLock)Entry as Ref | +| | ++----------------+---------------+ + | + | refers to + | ++----------------v---------------+ +| | +| vcard file (outside store) | +| | ++----------------+---------------+ + | + | contains + | ++----------------v---------------+ +| | +| vcard data | +| | ++--------------------------------+ + +``` + +As the library is build upon `libimagentryref`, it does not create a new +subcollection in the store `/contacts`, but uses the infrastructure of +`libimagentryref` which automatically puts all references in `/ref`. |