CamelVeeFolder

CamelVeeFolder

Synopsis

struct              CamelVeeFolder;
#define             CAMEL_UNMATCHED_NAME
CamelFolder *       camel_vee_folder_new                (CamelStore *parent_store,
                                                         const gchar *full,
                                                         guint32 flags);
void                camel_vee_folder_construct          (CamelVeeFolder *vf,
                                                         guint32 flags);
CamelFolder *       camel_vee_folder_get_location       (CamelVeeFolder *vf,
                                                         const struct _CamelVeeMessageInfo *vinfo,
                                                         gchar **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);
gint                camel_vee_folder_rebuild_folder     (CamelVeeFolder *vf,
                                                         CamelFolder *sub,
                                                         GError **error);
void                camel_vee_folder_set_expression     (CamelVeeFolder *vf,
                                                         const gchar *expr);
void                camel_vee_folder_ignore_next_changed_event
                                                        (CamelVeeFolder *vf,
                                                         CamelFolder *sub);
void                camel_vee_folder_hash_folder        (CamelFolder *folder,
                                                         gchar buffer[8]);
void                camel_vee_folder_sync_headers       (CamelFolder *vf,
                                                         GError **error);
enum                CamelVeeFolderLock;
void                camel_vee_folder_lock               (CamelVeeFolder *folder,
                                                         CamelVeeFolderLock lock);
void                camel_vee_folder_unlock             (CamelVeeFolder *folder,
                                                         CamelVeeFolderLock lock);

Object Hierarchy

  GObject
   +----CamelObject
         +----CamelFolder
               +----CamelVeeFolder
                     +----CamelVTrashFolder

Description

Details

struct CamelVeeFolder

struct CamelVeeFolder;


CAMEL_UNMATCHED_NAME

#define CAMEL_UNMATCHED_NAME "UNMATCHED"


camel_vee_folder_new ()

CamelFolder *       camel_vee_folder_new                (CamelStore *parent_store,
                                                         const gchar *full,
                                                         guint32 flags);

Create a new CamelVeeFolder object.

parent_store :

the parent CamelVeeStore

full :

the full path to the vfolder.

flags :

flags of some kind

Returns :

A new CamelVeeFolder widget.

camel_vee_folder_construct ()

void                camel_vee_folder_construct          (CamelVeeFolder *vf,
                                                         guint32 flags);


camel_vee_folder_get_location ()

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

Find the real folder (and uid)

realuid :

if not NULL, set to the uid of the real message, must be g_free'd by caller.

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.


camel_vee_folder_rebuild_folder ()

gint                camel_vee_folder_rebuild_folder     (CamelVeeFolder *vf,
                                                         CamelFolder *sub,
                                                         GError **error);

Rebuild the folder sub, if it should be.

vf :

Virtual Folder object

sub :

source CamelFolder to add to vf

error :

return location for a GError, or NULL

camel_vee_folder_set_expression ()

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


camel_vee_folder_ignore_next_changed_event ()

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

The next sub folder's 'changed' event will be silently ignored. This is usually used in virtual folders when the change was done in them, but it is neither vTrash nor vJunk folder. Doing this avoids unnecessary removals of messages which don't satisfy search criteria anymore, which could be done on asynchronous delivery of folder's 'changed' signal. These ignored changes are accumulated and used on folder refresh.

vf :

a CamelVeeFolder

sub :

a CamelFolder folder

Since 3.2


camel_vee_folder_hash_folder ()

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

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

folder :

@:

camel_vee_folder_sync_headers ()

void                camel_vee_folder_sync_headers       (CamelFolder *vf,
                                                         GError **error);

Since 2.24


enum CamelVeeFolderLock

typedef enum {
	CAMEL_VEE_FOLDER_SUMMARY_LOCK,
	CAMEL_VEE_FOLDER_SUBFOLDER_LOCK,
	CAMEL_VEE_FOLDER_CHANGED_LOCK
} CamelVeeFolderLock;

Since 2.32


camel_vee_folder_lock ()

void                camel_vee_folder_lock               (CamelVeeFolder *folder,
                                                         CamelVeeFolderLock lock);

Locks folder's lock. Unlock it with camel_vee_folder_unlock().

folder :

a CamelVeeFolder

lock :

lock type to lock

Since 2.32


camel_vee_folder_unlock ()

void                camel_vee_folder_unlock             (CamelVeeFolder *folder,
                                                         CamelVeeFolderLock lock);

Unlocks folder's lock, previously locked with camel_vee_folder_lock().

folder :

a CamelVeeFolder

lock :

lock type to unlock

Since 2.32