[evolution-data-server] I#289 - Support Matrix IM Protocol for Contacts



commit ade0a1cfee01834705567c98580e436efb0a997e
Author: Milan Crha <mcrha redhat com>
Date:   Mon Jun 14 22:05:36 2021 +0200

    I#289 - Support Matrix IM Protocol for Contacts
    
    Closes https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/289

 src/addressbook/libebook-contacts/e-contact.c | 13 +++++++++++--
 src/addressbook/libebook-contacts/e-contact.h |  8 ++++++++
 src/addressbook/libebook-contacts/e-vcard.h   |  2 ++
 3 files changed, 21 insertions(+), 2 deletions(-)
---
diff --git a/src/addressbook/libebook-contacts/e-contact.c b/src/addressbook/libebook-contacts/e-contact.c
index 8c3d105f1..38c2b926f 100644
--- a/src/addressbook/libebook-contacts/e-contact.c
+++ b/src/addressbook/libebook-contacts/e-contact.c
@@ -75,7 +75,8 @@ static AttrTypeValue glob_attr_type_values[] = {
        { EVC_X_JABBER, "WORK;HOME" },
        { EVC_X_MSN, "WORK;HOME" },
        { EVC_X_SKYPE, "WORK;HOME" },
-       { EVC_X_YAHOO, "WORK;HOME" }
+       { EVC_X_YAHOO, "WORK;HOME" },
+       { EVC_X_MATRIX, "WORK;HOME" }
 };
 
 #define E_CONTACT_FIELD_TYPE_STRING       0x00000001   /* used for simple single valued attributes */
@@ -345,7 +346,15 @@ static const EContactFieldInfo field_info[] = {
        ATTR_TYPE_STR_FIELD (E_CONTACT_IM_GOOGLE_TALK_WORK_3,  EVC_X_GOOGLE_TALK,  "im_google_talk_work_3",  
N_("Google Talk Work Name 3"),         FALSE, "WORK", 2),
        MULTI_LIST_FIELD (E_CONTACT_IM_GOOGLE_TALK,       EVC_X_GOOGLE_TALK,     "im_google_talk",     
N_("Google Talk Name List"),         FALSE),
 
-       MULTI_LIST_FIELD (E_CONTACT_IM_TWITTER,   EVC_X_TWITTER,     "im_twitter",     N_("Twitter Name 
List"),         FALSE)
+       MULTI_LIST_FIELD (E_CONTACT_IM_TWITTER,   EVC_X_TWITTER,     "im_twitter",     N_("Twitter Name 
List"),         FALSE),
+
+       ATTR_TYPE_STR_FIELD (E_CONTACT_IM_MATRIX_HOME_1, EVC_X_MATRIX, "im_matrix_home_1", N_("Matrix Home ID 
1"),          FALSE, "HOME", 0),
+       ATTR_TYPE_STR_FIELD (E_CONTACT_IM_MATRIX_HOME_2, EVC_X_MATRIX, "im_matrix_home_2", N_("Matrix Home ID 
2"),          FALSE, "HOME", 1),
+       ATTR_TYPE_STR_FIELD (E_CONTACT_IM_MATRIX_HOME_3, EVC_X_MATRIX, "im_matrix_home_3", N_("Matrix Home ID 
3"),          FALSE, "HOME", 2),
+       ATTR_TYPE_STR_FIELD (E_CONTACT_IM_MATRIX_WORK_1, EVC_X_MATRIX, "im_matrix_work_1", N_("Matrix Work ID 
1"),          FALSE, "WORK", 0),
+       ATTR_TYPE_STR_FIELD (E_CONTACT_IM_MATRIX_WORK_2, EVC_X_MATRIX, "im_matrix_work_2", N_("Matrix Work ID 
2"),          FALSE, "WORK", 1),
+       ATTR_TYPE_STR_FIELD (E_CONTACT_IM_MATRIX_WORK_3, EVC_X_MATRIX, "im_matrix_work_3", N_("Matrix Work ID 
3"),          FALSE, "WORK", 2),
+       MULTI_LIST_FIELD (E_CONTACT_IM_MATRIX,    EVC_X_MATRIX,    "im_matrix",    N_("Matrix ID List"),      
    FALSE)
 };
 
 #undef LIST_ELEM_STR_FIELD
diff --git a/src/addressbook/libebook-contacts/e-contact.h b/src/addressbook/libebook-contacts/e-contact.h
index 3f1e084f3..306f53593 100644
--- a/src/addressbook/libebook-contacts/e-contact.h
+++ b/src/addressbook/libebook-contacts/e-contact.h
@@ -249,6 +249,14 @@ typedef enum {
 
        E_CONTACT_IM_TWITTER,           /* Multi-valued */
 
+       E_CONTACT_IM_MATRIX_HOME_1,     /* Synthetic string field */
+       E_CONTACT_IM_MATRIX_HOME_2,     /* Synthetic string field */
+       E_CONTACT_IM_MATRIX_HOME_3,     /* Synthetic string field */
+       E_CONTACT_IM_MATRIX_WORK_1,     /* Synthetic string field */
+       E_CONTACT_IM_MATRIX_WORK_2,     /* Synthetic string field */
+       E_CONTACT_IM_MATRIX_WORK_3,     /* Synthetic string field */
+       E_CONTACT_IM_MATRIX,            /* Multi-valued */
+
        E_CONTACT_FIELD_LAST,
        E_CONTACT_FIELD_FIRST = E_CONTACT_UID,
 
diff --git a/src/addressbook/libebook-contacts/e-vcard.h b/src/addressbook/libebook-contacts/e-vcard.h
index 9efcb3d4b..21a0d5281 100644
--- a/src/addressbook/libebook-contacts/e-vcard.h
+++ b/src/addressbook/libebook-contacts/e-vcard.h
@@ -166,6 +166,8 @@ G_BEGIN_DECLS
  **/
 #define EVC_CL_UID                     "X-EVOLUTION-CONTACT-LIST-UID"
 
+#define EVC_X_MATRIX                   "X-MATRIX"
+
 #ifndef EDS_DISABLE_DEPRECATED
 #define EVC_X_DEST_EMAIL               "X-EVOLUTION-DEST-EMAIL"
 #define EVC_X_DEST_NAME                        "X-EVOLUTION-DEST-NAME"


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]