Matthias Beyer
cb4d5367e4
Because the code was so complex before, we had to create an object and then cast that object into a `StoreId` rather than just creating a `StoreId` object right away. With this patch, we're using the code-generation approach to generate a function that creates a `StoreId` object based on the name of the current module. That's way easier and error handling was also improved by the switch to the new implementation. The patch also includes a rewrite of all usages of ModuleEntryPath and changes them to `module_path::new_id()` calls. Signed-off-by: Matthias Beyer <mail@beyermatthias.de> |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
README.md |
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 |
| |
+--------------------------------+