CamelVeeFolder

CamelVeeFolder —

Synopsis




            CamelVeeFolder;
#define     CAMEL_UNMATCHED_NAME
CamelFolder* camel_vee_folder_new           (CamelStore *parent_store,
                                             const char *name,
                                             guint32 flags);
void        camel_vee_folder_construct      (CamelVeeFolder *vf,
                                             CamelStore *parent_store,
                                             const char *full,
                                             const char *name,
                                             guint32 flags);
CamelFolder* camel_vee_folder_get_location  (CamelVeeFolder *vf,
                                             const struct _CamelVeeMessageInfo *vinfo,
                                             char **realuid);
void        camel_vee_folder_add_folder     (CamelVeeFolder *vf,
                                             CamelFolder *sub);
void        camel_vee_folder_remove_folder  (CamelVeeFolder *vf,
                                             CamelFolder *sub);
void        camel_vee_folder_set_folders    (CamelVeeFolder *vf,
                                             GList *folders);
int         camel_vee_folder_rebuild_folder (CamelVeeFolder *vf,
                                             CamelFolder *sub,
                                             CamelException *ex);
void        camel_vee_folder_set_expression (CamelVeeFolder *vf,
                                             const char *expr);
void        camel_vee_folder_hash_folder    (CamelFolder *folder,
                                             char buffer[8]);


Description

Details

CamelVeeFolder

typedef struct {
	CamelFolder parent;

	struct _CamelVeeFolderPrivate *priv;

	char *expression;	/* query expression */

	guint32 flags;		/* folder open flags */

	CamelFolderChangeInfo *changes;
	CamelFolderSearch *search;

	/* only set-up if our parent is a vee-store, used also as a flag to
	 * say that this folder is part of the unmatched folder */
	struct _CamelVeeStore *parent_vee_store;
} CamelVeeFolder;


CAMEL_UNMATCHED_NAME

#define CAMEL_UNMATCHED_NAME "UNMATCHED"


camel_vee_folder_new ()

CamelFolder* camel_vee_folder_new           (CamelStore *parent_store,
                                             const char *name,
                                             guint32 flags);

Create a new CamelVeeFolder object.

parent_store : the parent CamelVeeStore
name :
flags :
Returns : A new CamelVeeFolder widget.

camel_vee_folder_construct ()

void        camel_vee_folder_construct      (CamelVeeFolder *vf,
                                             CamelStore *parent_store,
                                             const char *full,
                                             const char *name,
                                             guint32 flags);

vf :
parent_store :
full :
name :
flags :

camel_vee_folder_get_location ()

CamelFolder* camel_vee_folder_get_location  (CamelVeeFolder *vf,
                                             const struct _CamelVeeMessageInfo *vinfo,
                                             char **realuid);

Find the real folder (and uid)

vf :
vinfo :
realuid : if not NULL, set to the uid of the real message, must be g_free'd by caller.
Returns :

camel_vee_folder_add_folder ()

void        camel_vee_folder_add_folder     (CamelVeeFolder *vf,
                                             CamelFolder *sub);

Adds sub as a source folder to vf.

vf : Virtual Folder object
sub : source CamelFolder to add to vf

camel_vee_folder_remove_folder ()

void        camel_vee_folder_remove_folder  (CamelVeeFolder *vf,
                                             CamelFolder *sub);

Removed the source folder, sub, from the virtual folder, vf.

vf : Virtual Folder object
sub : source CamelFolder to remove from vf

camel_vee_folder_set_folders ()

void        camel_vee_folder_set_folders    (CamelVeeFolder *vf,
                                             GList *folders);

Set the whole list of folder sources on a vee folder.

vf :
folders :

camel_vee_folder_rebuild_folder ()

int         camel_vee_folder_rebuild_folder (CamelVeeFolder *vf,
                                             CamelFolder *sub,
                                             CamelException *ex);

Rebuild the folder sub, if it should be.

vf : Virtual Folder object
sub : source CamelFolder to add to vf
ex : Exception.
Returns :

camel_vee_folder_set_expression ()

void        camel_vee_folder_set_expression (CamelVeeFolder *vf,
                                             const char *expr);

vf :
expr :

camel_vee_folder_hash_folder ()

void        camel_vee_folder_hash_folder    (CamelFolder *folder,
                                             char buffer[8]);

Create a hash string representing the folder name, which should be unique, and remain static for a given folder.

folder : @:
buffer :