diff options
author | Chris Toshok <toshok@helixcode.com> | 2000-10-06 16:25:36 +0800 |
---|---|---|
committer | Chris Toshok <toshok@src.gnome.org> | 2000-10-06 16:25:36 +0800 |
commit | 912d759d75d9cc7f23f9774d692a44496c2e85fb (patch) | |
tree | 9549c8c64bb0b25d6cb685d47bd6d36521f849b7 /camel/camel-store.h | |
parent | a30dec16fd81cef36804cb741e2a0bb1d799dfd7 (diff) | |
download | gsoc2013-evolution-912d759d75d9cc7f23f9774d692a44496c2e85fb.tar.gz 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.h | 30 |
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 */ |