[evolution-kolab/ek-wip-porting] CamelKolabIMAPXFolder: API extension for uidvalidity query



commit 079fe454b689e2398d9af5fb4c79a70c1cd1bd11
Author: Christian Hilberg <hilberg kernelconcepts de>
Date:   Mon Jan 16 12:11:44 2012 +0100

    CamelKolabIMAPXFolder: API extension for uidvalidity query
    
    * we may need to provide offline capability in
      uidvalidity query for CamelKolabIMAPXFolder,
      which the parent might not implement
    * added api function for that, explicitly calls
      the parent function for now

 src/camel/camel-kolab-imapx-folder.c |   37 +++++++++++++++++++--------------
 src/camel/camel-kolab-imapx-folder.h |    4 +++
 2 files changed, 25 insertions(+), 16 deletions(-)
---
diff --git a/src/camel/camel-kolab-imapx-folder.c b/src/camel/camel-kolab-imapx-folder.c
index 9e5836b..8f82a39 100644
--- a/src/camel/camel-kolab-imapx-folder.c
+++ b/src/camel/camel-kolab-imapx-folder.c
@@ -91,20 +91,6 @@ camel_kolab_imapx_folder_finalize (GObject *object)
 /*----------------------------------------------------------------------------*/
 /* class functions */
 
-static guint64
-kolab_imapx_folder_get_uidvalidity (CamelIMAPXExtdFolder *self,
-                                    GError **err)
-{
-	guint64 uval = 0;
-
-	g_assert (CAMEL_IS_KOLAB_IMAPX_FOLDER (self));
-	g_return_val_if_fail (err == NULL || *err == NULL, 0);
-
-	uval = camel_imapx_extd_folder_get_uidvalidity (self,
-	                                                err);
-	return uval;
-}
-
 /*----------------------------------------------------------------------------*/
 /* class init */
 
@@ -118,12 +104,31 @@ camel_kolab_imapx_folder_class_init (CamelKolabIMAPXFolderClass *klass)
 
 	object_class->dispose = camel_kolab_imapx_folder_dispose;
 	object_class->finalize = camel_kolab_imapx_folder_finalize;
-
-	parent_class->get_uidvalidity = kolab_imapx_folder_get_uidvalidity;
 }
 
 /*----------------------------------------------------------------------------*/
 /* API functions */
 
+guint64
+camel_kolab_imapx_folder_get_uidvalidity (CamelKolabIMAPXFolder *self,
+                                          GError **err)
+{
+	CamelKolabIMAPXFolderClass *klass = NULL;
+	CamelIMAPXExtdFolderClass *parent_class = NULL;
+	guint64 uval = 0;
+
+	g_return_val_if_fail (CAMEL_IS_KOLAB_IMAPX_FOLDER (self), 0);
+
+	klass = CAMEL_KOLAB_IMAPX_FOLDER_GET_CLASS (self);
+	parent_class = CAMEL_IMAPX_EXTD_FOLDER_CLASS (klass);
+
+	/* TODO check whether we need offline capability here
+	 */
+
+	uval = parent_class->get_uidvalidity (CAMEL_IMAPX_EXTD_FOLDER (self),
+	                                      err);
+
+	return uval;
+}
 
 /*----------------------------------------------------------------------------*/
diff --git a/src/camel/camel-kolab-imapx-folder.h b/src/camel/camel-kolab-imapx-folder.h
index b765540..5439393 100644
--- a/src/camel/camel-kolab-imapx-folder.h
+++ b/src/camel/camel-kolab-imapx-folder.h
@@ -92,6 +92,10 @@ struct _CamelKolabIMAPXFolderClass {
 GType
 camel_kolab_imapx_folder_get_type (void);
 
+guint64
+camel_kolab_imapx_folder_get_uidvalidity (CamelKolabIMAPXFolder *self,
+                                          GError **err);
+
 G_END_DECLS
 
 /*----------------------------------------------------------------------------*/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]