aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-folder.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/camel-folder.c')
-rw-r--r--camel/camel-folder.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/camel/camel-folder.c b/camel/camel-folder.c
index 1ea2a7247b..271b5e1644 100644
--- a/camel/camel-folder.c
+++ b/camel/camel-folder.c
@@ -53,6 +53,8 @@ static GList *_expunge (CamelFolder *folder);
static CamelMimeMessage *_get_message (CamelFolder *folder, gint number);
static gint _get_message_count (CamelFolder *folder);
static gint _append_message (CamelFolder *folder, CamelMimeMessage *message);
+static const GList *_list_permanent_flags (CamelFolder *folder);
+
static void _finalize (GtkObject *object);
@@ -85,6 +87,7 @@ camel_folder_class_init (CamelFolderClass *camel_folder_class)
camel_folder_class->get_message = _get_message;
camel_folder_class->get_message_count = _get_message_count;
camel_folder_class->append_message = _append_message;
+ camel_folder_class->list_permanent_flags = _list_permanent_flags;
/* virtual method overload */
gtk_object_class->finalize = _finalize;
@@ -129,7 +132,8 @@ _finalize (GtkObject *object)
if (camel_folder->name) g_free (camel_folder->name);
if (camel_folder->full_name) g_free (camel_folder->full_name);
-
+ if (camel_folder->permanent_flags) g_free (camel_folder->permanent_flags);
+
GTK_OBJECT_CLASS (parent_class)->finalize (object);
CAMEL_LOG_FULL_DEBUG ("Leaving CamelFolder::finalize\n");
}
@@ -817,3 +821,17 @@ gint camel_folder_append_message (CamelFolder *folder, CamelMimeMessage *message
{
return CF_CLASS (folder)->append_message (folder, message);
}
+
+
+static const GList *
+_list_permanent_flags (CamelFolder *folder)
+{
+ return folder->permanent_flags;
+}
+
+
+const GList *
+camel_folder_list_permanent_flags (CamelFolder *folder)
+{
+ return CF_CLASS (folder)->list_permanent_flags (folder);
+}