evolution-data-server r8779 - trunk/camel/providers/imap4



Author: fejj
Date: Sat May 10 16:52:43 2008
New Revision: 8779
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=8779&view=rev

Log:
2008-05-10  Jeffrey Stedfast  <fejj novell com>

	* camel-imap4-store.c (imap4_folder_subscribed): Implemented.



Modified:
   trunk/camel/providers/imap4/ChangeLog
   trunk/camel/providers/imap4/camel-imap4-store.c

Modified: trunk/camel/providers/imap4/camel-imap4-store.c
==============================================================================
--- trunk/camel/providers/imap4/camel-imap4-store.c	(original)
+++ trunk/camel/providers/imap4/camel-imap4-store.c	Sat May 10 16:52:43 2008
@@ -74,6 +74,7 @@
 static CamelFolderInfo *imap4_get_folder_info (CamelStore *store, const char *top, guint32 flags, CamelException *ex);
 static void imap4_subscribe_folder (CamelStore *store, const char *folder_name, CamelException *ex);
 static void imap4_unsubscribe_folder (CamelStore *store, const char *folder_name, CamelException *ex);
+static gboolean imap4_folder_subscribed (CamelStore *store, const char *folder_name);
 static void imap4_noop (CamelStore *store, CamelException *ex);
 
 
@@ -145,9 +146,8 @@
 	store_class->get_folder_info = imap4_get_folder_info;
 	store_class->subscribe_folder = imap4_subscribe_folder;
 	store_class->unsubscribe_folder = imap4_unsubscribe_folder;
+	store_class->folder_subscribed = imap4_folder_subscribed;
 	store_class->noop = imap4_noop;
-
-	/* FIXME: implement folder_subscribed */
 }
 
 static void
@@ -1597,6 +1597,21 @@
 	return fi;
 }
 
+static gboolean
+imap4_folder_subscribed (CamelStore *store, const char *folder_name)
+{
+	CamelIMAP4Store *imap4_store = (CamelIMAP4Store *) store;
+	CamelStoreInfo *si;
+	int truth = FALSE;
+	
+	if ((si = camel_store_summary_path ((CamelStoreSummary *) imap4_store->summary, folder_name))) {
+		truth = (si->flags & CAMEL_STORE_INFO_FOLDER_SUBSCRIBED) != 0;
+		camel_store_summary_info_free ((CamelStoreSummary *) imap4_store->summary, si);
+	}
+	
+	return truth;
+}
+
 static void
 imap4_subscribe_folder (CamelStore *store, const char *folder_name, CamelException *ex)
 {



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