## KolabFolderSummary KolabFolderSummary — Summary information for a Kolab PIM folder |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    struct              KolabFolderSummary;
    enum                KolabFolderSummaryBoolFieldID;
    enum                KolabFolderSummaryCharFieldID;
    enum                KolabFolderSummaryIntFieldID;
    enum                KolabFolderSummaryUint64FieldID;
    enum                KolabFolderSummaryUintFieldID;
    gboolean            kolab_folder_summary_check          (const KolabFolderSummary *summary);
    KolabFolderSummary * kolab_folder_summary_clone         (const KolabFolderSummary *summary);
    void                kolab_folder_summary_dump           (const KolabFolderSummary *summary);
    void                kolab_folder_summary_free           (KolabFolderSummary *summary);
    void                kolab_folder_summary_gdestroy       (gpointer data);
    gboolean            kolab_folder_summary_get_bool_field (const KolabFolderSummary *summary,
                                                             KolabFolderSummaryBoolFieldID field_id);
    const gchar *       kolab_folder_summary_get_char_field (const KolabFolderSummary *summary,
                                                             KolabFolderSummaryCharFieldID field_id);
    gint                kolab_folder_summary_get_int_field  (const KolabFolderSummary *summary,
                                                             KolabFolderSummaryIntFieldID field_id);
    guint64             kolab_folder_summary_get_uint64_field
                                                            (const KolabFolderSummary *summary,
                                                             KolabFolderSummaryUint64FieldID field_id);
    guint               kolab_folder_summary_get_uint_field (const KolabFolderSummary *summary,
                                                             KolabFolderSummaryUintFieldID field_id);
    KolabFolderSummary * kolab_folder_summary_new           (void);
    void                kolab_folder_summary_set_bool_field (KolabFolderSummary *summary,
                                                             KolabFolderSummaryBoolFieldID field_id,
                                                             gboolean value);
    void                kolab_folder_summary_set_char_field (KolabFolderSummary *summary,
                                                             KolabFolderSummaryCharFieldID field_id,
                                                             gchar *value);
    void                kolab_folder_summary_set_int_field  (KolabFolderSummary *summary,
                                                             KolabFolderSummaryIntFieldID field_id,
                                                             gint value);
    void                kolab_folder_summary_set_uint64_field
                                                            (KolabFolderSummary *summary,
                                                             KolabFolderSummaryUint64FieldID field_id,
                                                             guint64 value);
    void                kolab_folder_summary_set_uint_field (KolabFolderSummary *summary,
                                                             KolabFolderSummaryUintFieldID field_id,
                                                             guint value);

## Description

A KolabFolderSummary is stored permanently in the KolabMailInfoDb for each known Kolab PIM folder.

## Details

### struct KolabFolderSummary

    struct KolabFolderSummary {
    	gchar   *sdata_char[KOLAB_FOLDER_SUMMARY_CHAR_LAST_FIELD];
    	guint    sdata_uint[KOLAB_FOLDER_SUMMARY_UINT_LAST_FIELD];
    	guint64  sdata_uint64[KOLAB_FOLDER_SUMMARY_UINT64_LAST_FIELD];
    #if 0
    	gint     sdata_int[KOLAB_FOLDER_SUMMARY_INT_LAST_FIELD];
    	gboolean sdata_bool[KOLAB_FOLDER_SUMMARY_BOOL_LAST_FIELD];
    #endif
    };

### enum KolabFolderSummaryBoolFieldID

    typedef enum {
    	/* LAST */
    	KOLAB_FOLDER_SUMMARY_BOOL_LAST_FIELD
    } KolabFolderSummaryBoolFieldID;

### enum KolabFolderSummaryCharFieldID

    typedef enum {
    	KOLAB_FOLDER_SUMMARY_CHAR_FIELD_FOLDERNAME = 0,
    	/* LAST */
    	KOLAB_FOLDER_SUMMARY_CHAR_LAST_FIELD
    } KolabFolderSummaryCharFieldID;

### enum KolabFolderSummaryIntFieldID

    typedef enum {
    	/* LAST */
    	KOLAB_FOLDER_SUMMARY_INT_LAST_FIELD
    } KolabFolderSummaryIntFieldID;

### enum KolabFolderSummaryUint64FieldID

    typedef enum {
    	KOLAB_FOLDER_SUMMARY_UINT64_FIELD_UIDVALIDITY = 0, /* IMAP folder uidvalidity (always updated) */
    	KOLAB_FOLDER_SUMMARY_UINT64_FIELD_UIDVALIDITY_SYNC, /* IMAP folder uidvalidity (updated only after sync) */
    	/* LAST */
    	KOLAB_FOLDER_SUMMARY_UINT64_LAST_FIELD
    } KolabFolderSummaryUint64FieldID;

### enum KolabFolderSummaryUintFieldID

    typedef enum {
    	/* Kolab intern */
    	KOLAB_FOLDER_SUMMARY_UINT_FIELD_CACHE_LOCATION = 0, /* KolabObjectCacheLocation */
    	KOLAB_FOLDER_SUMMARY_UINT_FIELD_CACHE_STATUS,		/* KolabObjectCacheStatus */
    	KOLAB_FOLDER_SUMMARY_UINT_FIELD_FOLDER_TYPE,		/* KolabFolderTypeID */
    	KOLAB_FOLDER_SUMMARY_UINT_FIELD_FOLDER_CONTEXT,		/* KolabFolderContextID */
    	/* LAST */
    	KOLAB_FOLDER_SUMMARY_UINT_LAST_FIELD
    } KolabFolderSummaryUintFieldID;

### kolab_folder_summary_check ()

    gboolean            kolab_folder_summary_check          (const KolabFolderSummary *summary);

### kolab_folder_summary_clone ()

    KolabFolderSummary * kolab_folder_summary_clone         (const KolabFolderSummary *summary);

### kolab_folder_summary_dump ()

    void                kolab_folder_summary_dump           (const KolabFolderSummary *summary);

### kolab_folder_summary_free ()

    void                kolab_folder_summary_free           (KolabFolderSummary *summary);

### kolab_folder_summary_gdestroy ()

    void                kolab_folder_summary_gdestroy       (gpointer data);

### kolab_folder_summary_get_bool_field ()

    gboolean            kolab_folder_summary_get_bool_field (const KolabFolderSummary *summary,
                                                             KolabFolderSummaryBoolFieldID field_id);

### kolab_folder_summary_get_char_field ()

    const gchar *       kolab_folder_summary_get_char_field (const KolabFolderSummary *summary,
                                                             KolabFolderSummaryCharFieldID field_id);

### kolab_folder_summary_get_int_field ()

    gint                kolab_folder_summary_get_int_field  (const KolabFolderSummary *summary,
                                                             KolabFolderSummaryIntFieldID field_id);

### kolab_folder_summary_get_uint64_field ()

    guint64             kolab_folder_summary_get_uint64_field
                                                            (const KolabFolderSummary *summary,
                                                             KolabFolderSummaryUint64FieldID field_id);

### kolab_folder_summary_get_uint_field ()

    guint               kolab_folder_summary_get_uint_field (const KolabFolderSummary *summary,
                                                             KolabFolderSummaryUintFieldID field_id);

### kolab_folder_summary_new ()

    KolabFolderSummary * kolab_folder_summary_new           (void);

### kolab_folder_summary_set_bool_field ()

    void                kolab_folder_summary_set_bool_field (KolabFolderSummary *summary,
                                                             KolabFolderSummaryBoolFieldID field_id,
                                                             gboolean value);

### kolab_folder_summary_set_char_field ()

    void                kolab_folder_summary_set_char_field (KolabFolderSummary *summary,
                                                             KolabFolderSummaryCharFieldID field_id,
                                                             gchar *value);

### kolab_folder_summary_set_int_field ()

    void                kolab_folder_summary_set_int_field  (KolabFolderSummary *summary,
                                                             KolabFolderSummaryIntFieldID field_id,
                                                             gint value);

### kolab_folder_summary_set_uint64_field ()

    void                kolab_folder_summary_set_uint64_field
                                                            (KolabFolderSummary *summary,
                                                             KolabFolderSummaryUint64FieldID field_id,
                                                             guint64 value);

### kolab_folder_summary_set_uint_field ()

    void                kolab_folder_summary_set_uint_field (KolabFolderSummary *summary,
                                                             KolabFolderSummaryUintFieldID field_id,
                                                             guint value);

## See Also

KolabMailInfoDb, KolabMailSummary