Add basic documentation on how the lib works

This commit is contained in:
Matthias Beyer 2017-09-23 17:50:23 +02:00
parent 434505f1f0
commit eaa9ad5993
2 changed files with 48 additions and 0 deletions

View file

@ -1,2 +1,49 @@
## libimagcontacts ## 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`.

View file

@ -0,0 +1 @@
../../../doc/src/05100-lib-contacts.md