## KolabMailSummary KolabMailSummary — Summary information for a Kolab PIM email |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    struct              KolabMailSummary;
    enum                KolabMailSummaryBoolFieldID;
    enum                KolabMailSummaryCharFieldID;
    enum                KolabMailSummaryIntFieldID;
    enum                KolabMailSummaryUintFieldID;
    gboolean            kolab_mail_summary_check            (const KolabMailSummary *summary);
    KolabMailSummary *  kolab_mail_summary_clone            (const KolabMailSummary *summary);
    void                kolab_mail_summary_debug_print      (const KolabMailSummary *summary);
    gboolean            kolab_mail_summary_equal            (const KolabMailSummary *summary1,
                                                             const KolabMailSummary *summary2);
    void                kolab_mail_summary_free             (KolabMailSummary *summary);
    void                kolab_mail_summary_gdestroy         (gpointer data);
    gboolean            kolab_mail_summary_get_bool_field   (const KolabMailSummary *summary,
                                                             KolabMailSummaryBoolFieldID field_id);
    const gchar *       kolab_mail_summary_get_char_field   (const KolabMailSummary *summary,
                                                             KolabMailSummaryCharFieldID field_id);
    gint                kolab_mail_summary_get_int_field    (const KolabMailSummary *summary,
                                                             KolabMailSummaryIntFieldID field_id);
    guint               kolab_mail_summary_get_uint_field   (const KolabMailSummary *summary,
                                                             KolabMailSummaryUintFieldID field_id);
    KolabMailSummary *  kolab_mail_summary_new              (void);
    KolabMailSummary *  kolab_mail_summary_new_from_ecalcomponent
                                                            (ECalComponent *ecalcomp);
    KolabMailSummary *  kolab_mail_summary_new_from_econtact
                                                            (EContact *econtact);
    void                kolab_mail_summary_set_bool_field   (KolabMailSummary *summary,
                                                             KolabMailSummaryBoolFieldID field_id,
                                                             gboolean value);
    void                kolab_mail_summary_set_char_field   (KolabMailSummary *summary,
                                                             KolabMailSummaryCharFieldID field_id,
                                                             gchar *value);
    void                kolab_mail_summary_set_int_field    (KolabMailSummary *summary,
                                                             KolabMailSummaryIntFieldID field_id,
                                                             gint value);
    void                kolab_mail_summary_set_uint_field   (KolabMailSummary *summary,
                                                             KolabMailSummaryUintFieldID field_id,
                                                             guint value);
    void                kolab_mail_summary_update_eds_data  (KolabMailSummary *summary,
                                                             const KolabMailSummary *src_summary);

## Description

A KolabMailSummary part of the data structure KolabMailInfoDbRecord, which is stored permanently in the KolabMailInfoDb for each known Kolab PIM email.

## Details

### struct KolabMailSummary

    struct KolabMailSummary {
    	/* ECalComponent/EContact fields */
    	gchar   *sdata_char[KOLAB_MAIL_SUMMARY_CHAR_LAST_FIELD];
    	guint    sdata_uint[KOLAB_MAIL_SUMMARY_UINT_LAST_FIELD];
    	gint     sdata_int[KOLAB_MAIL_SUMMARY_INT_LAST_FIELD];
    	gboolean sdata_bool[KOLAB_MAIL_SUMMARY_BOOL_LAST_FIELD];
    };

### enum KolabMailSummaryBoolFieldID

    typedef enum {
    	/* KolabMailHandle intern */
    	KOLAB_MAIL_SUMMARY_BOOL_FIELD_COMPLETE = 0,
    	/* Evolution common */
    	KOLAB_MAIL_SUMMARY_BOOL_FIELD_E_HAS_ATTENDEES,
    	KOLAB_MAIL_SUMMARY_BOOL_FIELD_E_HAS_ATTACHMENTS,
    	KOLAB_MAIL_SUMMARY_BOOL_FIELD_E_HAS_RECURRENCE,
    	KOLAB_MAIL_SUMMARY_BOOL_FIELD_E_HAS_ALARMS,
    	/* LAST */
    	KOLAB_MAIL_SUMMARY_BOOL_LAST_FIELD
    } KolabMailSummaryBoolFieldID;

### enum KolabMailSummaryCharFieldID

    typedef enum {
    	/* KolabMailHandle intern */
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_KOLAB_UID = 0, /* Kolab object UID */
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_IMAP_UID,		/* IMAP Mail UID (always updated) */
    	/* Evolution common */
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_E_SUMMARY,
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_E_ORGANIZER,
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_E_LOCATION,
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_E_CATEGORY,
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_E_DTSTART,
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_E_DTSTART_TZID,
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_E_DTEND,
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_E_DTEND_TZID,
    	/* EContact only */
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_E_FULLNAME,
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_E_EMAIL_1,
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_E_EMAIL_2,
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_E_EMAIL_3,
    	KOLAB_MAIL_SUMMARY_CHAR_FIELD_E_EMAIL_4,
    	/* LAST */
    	KOLAB_MAIL_SUMMARY_CHAR_LAST_FIELD
    } KolabMailSummaryCharFieldID;

### enum KolabMailSummaryIntFieldID

    typedef enum {
    	/* Evolution common */
    	KOLAB_MAIL_SUMMARY_INT_FIELD_E_PRIORITY = 0,
    	KOLAB_MAIL_SUMMARY_INT_FIELD_E_PERCENT,
    	/* LAST */
    	KOLAB_MAIL_SUMMARY_INT_LAST_FIELD
    } KolabMailSummaryIntFieldID;

### enum KolabMailSummaryUintFieldID

    typedef enum {
    	/* KolabMailHandle intern */
    	KOLAB_MAIL_SUMMARY_UINT_FIELD_FOLDER_TYPE = 0, /* KolabFolderMetaTypeID */
    	KOLAB_MAIL_SUMMARY_UINT_FIELD_FOLDER_CONTEXT, /* KolabFolderContextID  */
    	KOLAB_MAIL_SUMMARY_UINT_FIELD_CACHE_LOCATION, /* KolabObjectCacheLocation */
    	KOLAB_MAIL_SUMMARY_UINT_FIELD_CACHE_STATUS, /* KolabObjectCacheStatus */
    	/* Evolution common */
    	KOLAB_MAIL_SUMMARY_UINT_FIELD_E_CLASSIFICATION,
    	KOLAB_MAIL_SUMMARY_UINT_FIELD_E_STATUS,
    	/* LAST */
    	KOLAB_MAIL_SUMMARY_UINT_LAST_FIELD
    } KolabMailSummaryUintFieldID;

### kolab_mail_summary_check ()

    gboolean            kolab_mail_summary_check            (const KolabMailSummary *summary);

### kolab_mail_summary_clone ()

    KolabMailSummary *  kolab_mail_summary_clone            (const KolabMailSummary *summary);

### kolab_mail_summary_debug_print ()

    void                kolab_mail_summary_debug_print      (const KolabMailSummary *summary);

### kolab_mail_summary_equal ()

    gboolean            kolab_mail_summary_equal            (const KolabMailSummary *summary1,
                                                             const KolabMailSummary *summary2);

### kolab_mail_summary_free ()

    void                kolab_mail_summary_free             (KolabMailSummary *summary);

### kolab_mail_summary_gdestroy ()

    void                kolab_mail_summary_gdestroy         (gpointer data);

### kolab_mail_summary_get_bool_field ()

    gboolean            kolab_mail_summary_get_bool_field   (const KolabMailSummary *summary,
                                                             KolabMailSummaryBoolFieldID field_id);

### kolab_mail_summary_get_char_field ()

    const gchar *       kolab_mail_summary_get_char_field   (const KolabMailSummary *summary,
                                                             KolabMailSummaryCharFieldID field_id);

### kolab_mail_summary_get_int_field ()

    gint                kolab_mail_summary_get_int_field    (const KolabMailSummary *summary,
                                                             KolabMailSummaryIntFieldID field_id);

### kolab_mail_summary_get_uint_field ()

    guint               kolab_mail_summary_get_uint_field   (const KolabMailSummary *summary,
                                                             KolabMailSummaryUintFieldID field_id);

### kolab_mail_summary_new ()

    KolabMailSummary *  kolab_mail_summary_new              (void);

### kolab_mail_summary_new_from_ecalcomponent ()

    KolabMailSummary *  kolab_mail_summary_new_from_ecalcomponent
                                                            (ECalComponent *ecalcomp);

### kolab_mail_summary_new_from_econtact ()

    KolabMailSummary *  kolab_mail_summary_new_from_econtact
                                                            (EContact *econtact);

### kolab_mail_summary_set_bool_field ()

    void                kolab_mail_summary_set_bool_field   (KolabMailSummary *summary,
                                                             KolabMailSummaryBoolFieldID field_id,
                                                             gboolean value);

### kolab_mail_summary_set_char_field ()

    void                kolab_mail_summary_set_char_field   (KolabMailSummary *summary,
                                                             KolabMailSummaryCharFieldID field_id,
                                                             gchar *value);

### kolab_mail_summary_set_int_field ()

    void                kolab_mail_summary_set_int_field    (KolabMailSummary *summary,
                                                             KolabMailSummaryIntFieldID field_id,
                                                             gint value);

### kolab_mail_summary_set_uint_field ()

    void                kolab_mail_summary_set_uint_field   (KolabMailSummary *summary,
                                                             KolabMailSummaryUintFieldID field_id,
                                                             guint value);

### kolab_mail_summary_update_eds_data ()

    void                kolab_mail_summary_update_eds_data  (KolabMailSummary *summary,
                                                             const KolabMailSummary *src_summary);

## See Also

KolabMailInfoDb, KolabFolderSummary