imag/lib/domain/libimagcontact
Matthias Beyer 1d89844613 Run 'cargo fix' for rust-2018
With this patch we move the codebase to Rust-2018.

The diff was generated by executing

    cargo fix --all --all-features --edition

on the codebase.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-05-18 00:20:59 +02:00
..
src Run 'cargo fix' for rust-2018 2019-05-18 00:20:59 +02:00
Cargo.toml Rewrite store interface abstraction 2019-04-22 14:26:56 +02: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 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          |
|                                |
+--------------------------------+