imag/lib/domain/libimagcontact
Matthias Beyer d5a9e4930d Update dates in license header
And add missing header in one file
2018-02-07 02:48:53 +01:00
..
src Update dates in license header 2018-02-07 02:48:53 +01:00
Cargo.toml Add flag settings/Contact::is_contact in libimagcontact 2018-01-08 23:46:36 +01:00
README.md Add basic documentation on how the lib works 2017-10-31 19:09:43 +01:00

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:


+--------------------------------+
|                                |
|     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.