aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-store.h
diff options
context:
space:
mode:
authorChris Toshok <toshok@helixcode.com>2000-10-06 16:25:36 +0800
committerChris Toshok <toshok@src.gnome.org>2000-10-06 16:25:36 +0800
commit912d759d75d9cc7f23f9774d692a44496c2e85fb (patch)
tree9549c8c64bb0b25d6cb685d47bd6d36521f849b7 /camel/camel-store.h
parenta30dec16fd81cef36804cb741e2a0bb1d799dfd7 (diff)
downloadgsoc2013-evolution-912d759d75d9cc7f23f9774d692a44496c2e85fb.tar
gsoc2013-evolution-912d759d75d9cc7f23f9774d692a44496c2e85fb.tar.gz
gsoc2013-evolution-912d759d75d9cc7f23f9774d692a44496c2e85fb.tar.bz2
gsoc2013-evolution-912d759d75d9cc7f23f9774d692a44496c2e85fb.tar.lz
gsoc2013-evolution-912d759d75d9cc7f23f9774d692a44496c2e85fb.tar.xz
gsoc2013-evolution-912d759d75d9cc7f23f9774d692a44496c2e85fb.tar.zst
gsoc2013-evolution-912d759d75d9cc7f23f9774d692a44496c2e85fb.zip
add camel-nntp-grouplist.h (libcamelnntp_la_SOURCES): add
2000-10-06 Chris Toshok <toshok@helixcode.com> * providers/nntp/Makefile.am (libcamelnntpinclude_HEADERS): add camel-nntp-grouplist.h (libcamelnntp_la_SOURCES): add camel-nntp-grouplist.c * providers/nntp/camel-nntp-provider.c: add our own hash functions for nntp urls. * providers/nntp/camel-nntp-newsrc.c (camel_nntp_newsrc_group_is_subscribed): new function. (camel_nntp_newsrc_subscribe_group): new function. (camel_nntp_newsrc_unsubscribe_group): new function. * providers/nntp/camel-nntp-newsrc.h: add prototypes for _group_is_subscribed, _subscribe_group, and _unsubscribe_group. * providers/nntp/camel-nntp-store.c (build_folder_info_from_grouplist): new function. (nntp_store_get_folder_info): add subscribed_only_parameter. if it's FALSE, load the grouplist and call build_folder_info_from_grouplist. (nntp_store_folder_subscribed): implement. (nntp_store_subscribe_folder): implement. (nntp_store_unsubscribe_folder): implement. (camel_nntp_store_init): add CAMEL_STORE_SUBSCRIPTIONS to the store's flags. * providers/mh/camel-mh-store.c (get_folder_info): add subscribed_only parameter. * providers/mbox/camel-mbox-store.c (get_folder_info): add subscribed_only parameter. * providers/imap/camel-imap-store.c (get_folder_info): add subscribed_only parameter. * camel-store.c (camel_store_supports_subscriptions): new function. (camel_store_folder_subscribed): new function. (camel_store_subscribe_folder): new function. (camel_store_unsubscribe_folder): new function. * camel-store.h: add prototypes and virtual functions for the subscribe implementation. also, add a subscribed_only argument to camel_store_get_folder_info. svn path=/trunk/; revision=5760
Diffstat (limited to 'camel/camel-store.h')
-rw-r--r--camel/camel-store.h30
1 files changed, 27 insertions, 3 deletions
diff --git a/camel/camel-store.h b/camel/camel-store.h
index 07ee939c6f..57c45f4769 100644
--- a/camel/camel-store.h
+++ b/camel/camel-store.h
@@ -51,12 +51,16 @@ typedef struct _CamelFolderInfo {
#define CAMEL_IS_STORE(o) (CAMEL_CHECK_TYPE((o), CAMEL_STORE_TYPE))
+/* Flags for store flags */
+#define CAMEL_STORE_SUBSCRIPTIONS (1 << 0)
+
struct _CamelStore
{
CamelService parent_object;
GHashTable *folders;
+ int flags;
};
@@ -94,12 +98,21 @@ typedef struct {
CamelFolderInfo *(*get_folder_info) (CamelStore *store,
const char *top,
- gboolean fase,
+ gboolean fast,
gboolean recursive,
+ gboolean subscribed_only,
CamelException *ex);
void (*free_folder_info) (CamelStore *store,
CamelFolderInfo *fi);
+ gboolean (*folder_subscribed) (CamelStore *store,
+ const char *folder_name);
+ void (*subscribe_folder) (CamelStore *store,
+ const char *folder_name,
+ CamelException *ex);
+ void (*unsubscribe_folder) (CamelStore *store,
+ const char *folder_name,
+ CamelException *ex);
} CamelStoreClass;
@@ -126,13 +139,13 @@ void camel_store_rename_folder (CamelStore *store,
CamelFolderInfo *camel_store_get_folder_info (CamelStore *store,
const char *top,
- gboolean fase,
+ gboolean fast,
gboolean recursive,
+ gboolean subscribed_only,
CamelException *ex);
void camel_store_free_folder_info (CamelStore *store,
CamelFolderInfo *fi);
-
void camel_store_free_folder_info_full (CamelStore *store,
CamelFolderInfo *fi);
void camel_store_free_folder_info_nop (CamelStore *store,
@@ -144,6 +157,17 @@ void camel_folder_info_build (GPtrArray *folders,
char separator,
gboolean short_names);
+gboolean camel_store_supports_subscriptions (CamelStore *store);
+
+gboolean camel_store_folder_subscribed (CamelStore *store,
+ const char *folder_name);
+void camel_store_subscribe_folder (CamelStore *store,
+ const char *folder_name,
+ CamelException *ex);
+void camel_store_unsubscribe_folder (CamelStore *store,
+ const char *folder_name,
+ CamelException *ex);
+
#ifdef __cplusplus
}
#endif /* __cplusplus */