diff options
author | Not Zed <NotZed@Ximian.com> | 2004-06-03 17:29:08 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2004-06-03 17:29:08 +0800 |
commit | 0a7400e900f9235cf6ef73a8978433178a5b8f0c (patch) | |
tree | 53f1ce1f63eff31afa5e3ef0c607a9af806cd441 /camel/providers/nntp/camel-nntp-store.h | |
parent | f60455997beaa2374f20921d2e874f70d08b4bb4 (diff) | |
download | gsoc2013-evolution-0a7400e900f9235cf6ef73a8978433178a5b8f0c.tar.gz gsoc2013-evolution-0a7400e900f9235cf6ef73a8978433178a5b8f0c.tar.zst gsoc2013-evolution-0a7400e900f9235cf6ef73a8978433178a5b8f0c.zip |
only save the summary, don't update from server, thats what refresh info
2004-06-03 Not Zed <NotZed@Ximian.com>
* providers/nntp/camel-nntp-folder.c (nntp_folder_sync_online):
only save the summary, don't update from server, thats what
refresh info does.
(nntp_folder_download_message): fix exception handling.
(nntp_folder_cache_message): same.
(nntp_folder_get_message): ditto, plus major cleanup.
(nntp_folder_download_message): take combined uid so it can cache
and lookup properly. duh.
* providers/nntp/camel-nntp-store.c
(nntp_store_get_subscribed_folder_info): if not fast, then open
the folder, and update it. Yeah i've given up trying to worry
about performance vs usability.
* providers/nntp/camel-nntp-summary.c (camel_nntp_summary_check):
update the storesummary if we update the folder summary. Hmm,
isn't duplicated data meant to be a bad thing? :P
* providers/nntp/camel-nntp-store.c (camel_nntp_store_set_folder):
removed, now handled by nntp_command.
(nntp_connected): removed, now handled by nntp_command.
* camel-string-utils.c (camel_tolower): added ascii to-lower
function.
(camel_toupper): and upper, for completeness.
* camel-store-summary.c (CAMEL_STORE_SUMMARY_VERSION): bumped file
version by 1. This is a mess, version 1 files treated the
bitfield 'flags' with bit number values not bits. Messy.
* providers/nntp/camel-nntp-store-summary.c (store_info_save):
write last/first count.
(CAMEL_NNTP_STORE_SUMMARY_VERSION): bump version to 1.
(store_info_load): if we're loading >= version 1, then load
last/first counts.
* providers/nntp/camel-nntp-store.c
(nntp_store_get_folder_info_all): pass the whole line to
store_info_from_line, dont strip last/first info.
(nntp_store_info_update): renamed from info_new_from_line. only
add if not present. handle updates, try and handle unread counts
and readonly status.
2004-06-02 Not Zed <NotZed@Ximian.com>
* providers/nntp/camel-nntp-store.c: setup xover once we've
started.
* providers/nntp/camel-nntp-summary.c: (xover_setup): moved to
nntp store.
* providers/nntp/camel-nntp-folder.c (folder_check)
(folder_check_free, camel_nntp_folder_new): remove async summary
stuff.
* providers/nntp/camel-nntp-store.c (camel_nntp_command): take
exception argument again, and folder argument. do retry logic and
auth logic differently.
(camel_nntp_raw_command): raw command interface, dont try
reconnect or anything fancy. pass i/o errors straight out, etc.
(camel_nntp_try_authenticate): change to return return codes &
take exception.
* providers/nntp/camel-nntp-summary.c (camel_nntp_summary_new):
just take path argument.
(camel_nntp_summary_check): take a store, and a folder name.
(add_range_head, add_range_xover): remove the time based update
events, they never had any effect anyway. Take store argument.
(xover_setup): take store argument.
* camel-folder-search.c (search_match_threads): remove debug.
svn path=/trunk/; revision=26164
Diffstat (limited to 'camel/providers/nntp/camel-nntp-store.h')
-rw-r--r-- | camel/providers/nntp/camel-nntp-store.h | 44 |
1 files changed, 29 insertions, 15 deletions
diff --git a/camel/providers/nntp/camel-nntp-store.h b/camel/providers/nntp/camel-nntp-store.h index 10a56dcc89..0e68f4ae57 100644 --- a/camel/providers/nntp/camel-nntp-store.h +++ b/camel/providers/nntp/camel-nntp-store.h @@ -30,18 +30,14 @@ extern "C" { #pragma } #endif /* __cplusplus */ -#include <camel/camel-store.h> -#include <camel/camel-stream-mem.h> -#include <camel/camel-data-cache.h> -#include <camel/camel-exception.h> -#include <camel/camel-folder.h> - #include <camel/camel-disco-store.h> -#include <camel/camel-disco-folder.h> #include "camel-nntp-stream.h" #include "camel-nntp-store-summary.h" +struct _CamelNNTPFolder; +struct _CamelException; + #define CAMEL_NNTP_STORE_TYPE (camel_nntp_store_get_type ()) #define CAMEL_NNTP_STORE(obj) (CAMEL_CHECK_CAST((obj), CAMEL_NNTP_STORE_TYPE, CamelNNTPStore)) #define CAMEL_NNTP_STORE_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_NNTP_STORE_TYPE, CamelNNTPStoreClass)) @@ -59,6 +55,20 @@ extern "C" { typedef struct _CamelNNTPStore CamelNNTPStore; typedef struct _CamelNNTPStoreClass CamelNNTPStoreClass; +enum _xover_t { + XOVER_STRING = 0, + XOVER_MSGID, + XOVER_SIZE, +}; + +struct _xover_header { + struct _xover_header *next; + + const char *name; + unsigned int skip:8; + enum _xover_t type:8; +}; + struct _CamelNNTPStore { CamelDiscoStore parent_object; @@ -66,17 +76,20 @@ struct _CamelNNTPStore { guint32 extensions; - gboolean posting_allowed; - gboolean do_short_folder_notation, folder_hierarchy_relative; + unsigned int posting_allowed:1; + unsigned int do_short_folder_notation:1; + unsigned int folder_hierarchy_relative:1; - CamelNNTPStoreSummary *summary; + struct _CamelNNTPStoreSummary *summary; - CamelNNTPStream *stream; - CamelStreamMem *mem; + struct _CamelNNTPStream *stream; + struct _CamelStreamMem *mem; - CamelDataCache *cache; + struct _CamelDataCache *cache; char *current_folder, *storage_path, *base_url; + + struct _xover_header *xover; }; struct _CamelNNTPStoreClass { @@ -87,8 +100,9 @@ struct _CamelNNTPStoreClass { /* Standard Camel function */ CamelType camel_nntp_store_get_type (void); -int camel_nntp_command(CamelNNTPStore *store, char **line, const char *fmt, ...); -int camel_nntp_store_set_folder(CamelNNTPStore *store, CamelFolder *folder, CamelFolderChangeInfo *changes, CamelException *ex); +int camel_nntp_raw_commandv (CamelNNTPStore *store, struct _CamelException *ex, char **line, const char *fmt, va_list ap); +int camel_nntp_raw_command(CamelNNTPStore *store, struct _CamelException *ex, char **line, const char *fmt, ...); +int camel_nntp_command (CamelNNTPStore *store, struct _CamelException *ex, struct _CamelNNTPFolder *folder, char **line, const char *fmt, ...); #ifdef __cplusplus } |