CamelStoreSummary

CamelStoreSummary

Synopsis

                    CamelStoreInfo;
enum                CamelStoreInfoFlags;
                    CamelStoreSummary;
#define             CAMEL_STORE_INFO_FOLDER_UNKNOWN
enum                CamelStoreSummaryFlags;
CamelStoreSummary*  camel_store_summary_new             (void);
void                camel_store_summary_set_filename    (CamelStoreSummary *summary,
                                                         const char *filename);
void                camel_store_summary_set_uri_base    (CamelStoreSummary *summary,
                                                         CamelURL *base);
int                 camel_store_summary_load            (CamelStoreSummary *summary);
int                 camel_store_summary_save            (CamelStoreSummary *summary);
int                 camel_store_summary_header_load     (CamelStoreSummary *summary);
void                camel_store_summary_touch           (CamelStoreSummary *summary);
void                camel_store_summary_add             (CamelStoreSummary *summary,
                                                         CamelStoreInfo *info);
CamelStoreInfo*     camel_store_summary_add_from_path   (CamelStoreSummary *summary,
                                                         const char *path);
CamelStoreInfo*     camel_store_summary_info_new        (CamelStoreSummary *summary);
CamelStoreInfo*     camel_store_summary_info_new_from_path
                                                        (CamelStoreSummary *summary,
                                                         const char *path);
void                camel_store_summary_info_ref        (CamelStoreSummary *summary,
                                                         CamelStoreInfo *info);
void                camel_store_summary_info_free       (CamelStoreSummary *summary,
                                                         CamelStoreInfo *info);
void                camel_store_summary_remove          (CamelStoreSummary *summary,
                                                         CamelStoreInfo *info);
void                camel_store_summary_remove_path     (CamelStoreSummary *summary,
                                                         const char *path);
void                camel_store_summary_remove_index    (CamelStoreSummary *summary,
                                                         int index);
void                camel_store_summary_clear           (CamelStoreSummary *summary);
int                 camel_store_summary_count           (CamelStoreSummary *summary);
CamelStoreInfo*     camel_store_summary_index           (CamelStoreSummary *summary,
                                                         int index);
CamelStoreInfo*     camel_store_summary_path            (CamelStoreSummary *summary,
                                                         const char *path);
GPtrArray*          camel_store_summary_array           (CamelStoreSummary *summary);
void                camel_store_summary_array_free      (CamelStoreSummary *summary,
                                                         GPtrArray *array);
const char*         camel_store_info_string             (CamelStoreSummary *summary,
                                                         const CamelStoreInfo *info,
                                                         int type);
void                camel_store_info_set_string         (CamelStoreSummary *summary,
                                                         CamelStoreInfo *info,
                                                         int type,
                                                         const char *value);
#define             camel_store_info_path               (s, i)
#define             camel_store_info_uri                (s, i)
#define             camel_store_info_name               (s, i)

Description

Details

CamelStoreInfo

typedef struct {
	guint32 refcount;
	char *uri;
	char *path;
	guint32 flags;
	guint32 unread;
	guint32 total;
} CamelStoreInfo;


enum CamelStoreInfoFlags

typedef enum _CamelStoreInfoFlags {
	CAMEL_STORE_INFO_FOLDER_NOSELECT = 1<<0,
	CAMEL_STORE_INFO_FOLDER_NOINFERIORS = 1<<1,
	CAMEL_STORE_INFO_FOLDER_CHILDREN = 1<<2,
	CAMEL_STORE_INFO_FOLDER_NOCHILDREN = 1<<3,
	CAMEL_STORE_INFO_FOLDER_SUBSCRIBED = 1<<4,
	CAMEL_STORE_INFO_FOLDER_VIRTUAL = 1<<5,
	CAMEL_STORE_INFO_FOLDER_SYSTEM = 1<<6,
	CAMEL_STORE_INFO_FOLDER_VTRASH = 1<<7,
	CAMEL_STORE_INFO_FOLDER_SHARED_BY_ME = 1<<8,
	CAMEL_STORE_INFO_FOLDER_SHARED_TO_ME = 1<<9,

	/* not in camle-store.h yet */
	CAMEL_STORE_INFO_FOLDER_READONLY = 1<<13,

	CAMEL_STORE_INFO_FOLDER_FLAGGED = 1<<31
} CamelStoreInfoFlags;


CamelStoreSummary

typedef struct {
	CamelObject parent;

	struct _CamelStoreSummaryPrivate *priv;

	/* header info */
	guint32 version;	/* version of base part of file */
	guint32 flags;		/* flags */
	guint32 count;		/* how many were saved/loaded */
	time_t time;		/* timestamp for this summary (for implementors to use) */
	struct _CamelURL *uri_base;	/* url of base part of summary */

	/* sizes of memory objects */
	guint32 store_info_size;

	/* memory allocators (setup automatically) */
	struct _EMemChunk *store_info_chunks;

	char *summary_path;

	GPtrArray *folders;	/* CamelStoreInfo's */
	GHashTable *folders_path; /* CamelStoreInfo's by path name */
} CamelStoreSummary;


CAMEL_STORE_INFO_FOLDER_UNKNOWN

#define CAMEL_STORE_INFO_FOLDER_UNKNOWN (~0)


enum CamelStoreSummaryFlags

typedef enum _CamelStoreSummaryFlags {
	CAMEL_STORE_SUMMARY_DIRTY = 1<<0,
	CAMEL_STORE_SUMMARY_FRAGMENT = 1<<1 /* path name is stored in fragment rather than path */
} CamelStoreSummaryFlags;


camel_store_summary_new ()

CamelStoreSummary*  camel_store_summary_new             (void);

Returns :


camel_store_summary_set_filename ()

void                camel_store_summary_set_filename    (CamelStoreSummary *summary,
                                                         const char *filename);

summary :

filename :


camel_store_summary_set_uri_base ()

void                camel_store_summary_set_uri_base    (CamelStoreSummary *summary,
                                                         CamelURL *base);

summary :

base :


camel_store_summary_load ()

int                 camel_store_summary_load            (CamelStoreSummary *summary);

summary :

Returns :


camel_store_summary_save ()

int                 camel_store_summary_save            (CamelStoreSummary *summary);

summary :

Returns :


camel_store_summary_header_load ()

int                 camel_store_summary_header_load     (CamelStoreSummary *summary);

summary :

Returns :


camel_store_summary_touch ()

void                camel_store_summary_touch           (CamelStoreSummary *summary);

summary :


camel_store_summary_add ()

void                camel_store_summary_add             (CamelStoreSummary *summary,
                                                         CamelStoreInfo *info);

summary :

info :


camel_store_summary_add_from_path ()

CamelStoreInfo*     camel_store_summary_add_from_path   (CamelStoreSummary *summary,
                                                         const char *path);

summary :

path :

Returns :


camel_store_summary_info_new ()

CamelStoreInfo*     camel_store_summary_info_new        (CamelStoreSummary *summary);

summary :

Returns :


camel_store_summary_info_new_from_path ()

CamelStoreInfo*     camel_store_summary_info_new_from_path
                                                        (CamelStoreSummary *summary,
                                                         const char *path);

summary :

path :

Returns :


camel_store_summary_info_ref ()

void                camel_store_summary_info_ref        (CamelStoreSummary *summary,
                                                         CamelStoreInfo *info);

summary :

info :


camel_store_summary_info_free ()

void                camel_store_summary_info_free       (CamelStoreSummary *summary,
                                                         CamelStoreInfo *info);

summary :

info :


camel_store_summary_remove ()

void                camel_store_summary_remove          (CamelStoreSummary *summary,
                                                         CamelStoreInfo *info);

summary :

info :


camel_store_summary_remove_path ()

void                camel_store_summary_remove_path     (CamelStoreSummary *summary,
                                                         const char *path);

summary :

path :


camel_store_summary_remove_index ()

void                camel_store_summary_remove_index    (CamelStoreSummary *summary,
                                                         int index);

summary :

index :


camel_store_summary_clear ()

void                camel_store_summary_clear           (CamelStoreSummary *summary);

summary :


camel_store_summary_count ()

int                 camel_store_summary_count           (CamelStoreSummary *summary);

summary :

Returns :


camel_store_summary_index ()

CamelStoreInfo*     camel_store_summary_index           (CamelStoreSummary *summary,
                                                         int index);

summary :

index :

Returns :


camel_store_summary_path ()

CamelStoreInfo*     camel_store_summary_path            (CamelStoreSummary *summary,
                                                         const char *path);

summary :

path :

Returns :


camel_store_summary_array ()

GPtrArray*          camel_store_summary_array           (CamelStoreSummary *summary);

summary :

Returns :


camel_store_summary_array_free ()

void                camel_store_summary_array_free      (CamelStoreSummary *summary,
                                                         GPtrArray *array);

summary :

array :


camel_store_info_string ()

const char*         camel_store_info_string             (CamelStoreSummary *summary,
                                                         const CamelStoreInfo *info,
                                                         int type);

summary :

info :

type :

Returns :


camel_store_info_set_string ()

void                camel_store_info_set_string         (CamelStoreSummary *summary,
                                                         CamelStoreInfo *info,
                                                         int type,
                                                         const char *value);

summary :

info :

type :

value :


camel_store_info_path()

#define camel_store_info_path(s, i) (camel_store_info_string((CamelStoreSummary *)s, (const CamelStoreInfo *)i, CAMEL_STORE_INFO_PATH))

s :

i :


camel_store_info_uri()

#define camel_store_info_uri(s, i) (camel_store_info_string((CamelStoreSummary *)s, (const CamelStoreInfo *)i, CAMEL_STORE_INFO_URI))

s :

i :


camel_store_info_name()

#define camel_store_info_name(s, i) (camel_store_info_string((CamelStoreSummary *)s, (const CamelStoreInfo *)i, CAMEL_STORE_INFO_NAME))

s :

i :