49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
## libimagcontacts
|
|
|
|
The contact library basically only creates references to the actual
|
|
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`.
|