diff options
Diffstat (limited to 'camel/providers/nntp/camel-nntp-store.h')
-rw-r--r-- | camel/providers/nntp/camel-nntp-store.h | 79 |
1 files changed, 20 insertions, 59 deletions
diff --git a/camel/providers/nntp/camel-nntp-store.h b/camel/providers/nntp/camel-nntp-store.h index 0f373dd0bc..04a69b02e7 100644 --- a/camel/providers/nntp/camel-nntp-store.h +++ b/camel/providers/nntp/camel-nntp-store.h @@ -30,41 +30,15 @@ extern "C" { #pragma } #endif /* __cplusplus }*/ -#include "camel-remote-store.h" -#include "camel-nntp-newsrc.h" -#include "camel-nntp-types.h" - -#include "config.h" - -#ifdef ENABLE_THREADS -#include "e-util/e-msgport.h" -#endif +#include "camel/camel-remote-store.h" +#include "camel/camel-exception.h" +#include "camel/camel-folder.h" #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)) #define CAMEL_IS_NNTP_STORE(o) (CAMEL_CHECK_TYPE((o), CAMEL_NNTP_STORE_TYPE)) -enum { - CAMEL_NNTP_OVER_FROM, - CAMEL_NNTP_OVER_SUBJECT, - CAMEL_NNTP_OVER_DATE, - CAMEL_NNTP_OVER_MESSAGE_ID, - CAMEL_NNTP_OVER_REFERENCES, - CAMEL_NNTP_OVER_BYTES, - - CAMEL_NNTP_OVER_LAST -}; - -struct CamelNNTPOverField { - int index; - gboolean full; /* full in the OVER sense - the field name - precedes the ':' in the XOVER list. */ -}; - -struct CamelNNTPStore { - CamelRemoteStore parent_object; - #define CAMEL_NNTP_EXT_SEARCH (1<<0) #define CAMEL_NNTP_EXT_SETGET (1<<1) #define CAMEL_NNTP_EXT_OVER (1<<2) @@ -73,51 +47,38 @@ struct CamelNNTPStore { #define CAMEL_NNTP_EXT_LISTMOTD (1<<5) #define CAMEL_NNTP_EXT_LISTSUBSCR (1<<6) #define CAMEL_NNTP_EXT_LISTPNAMES (1<<7) + +typedef struct _CamelNNTPStore CamelNNTPStore; +typedef struct _CamelNNTPStoreClass CamelNNTPStoreClass; + +struct _CamelNNTPStore { + CamelRemoteStore parent_object; + + struct _CamelNNTPStorePrivate *priv; + guint32 extensions; gboolean posting_allowed; - int num_overview_fields; - CamelNNTPOverField overview_field[ CAMEL_NNTP_OVER_LAST ]; + struct _CamelNNTPStream *stream; + struct _CamelStreamMem *mem; - CamelNNTPNewsrc *newsrc; - CamelNNTPGroupList *group_list; + struct _CamelDataCache *cache; -#ifdef ENABLE_THREADS - EMutex *command_lock; -#endif + char *current_folder; }; -struct CamelNNTPStoreClass { +struct _CamelNNTPStoreClass { CamelRemoteStoreClass parent_class; }; -#ifdef ENABLE_THREADS -#define CAMEL_NNTP_STORE_LOCK(f) (e_mutex_lock(((CamelNNTPStore *) f)->command_lock)) -#define CAMEL_NNTP_STORE_UNLOCK(f) (e_mutex_unlock(((CamelNNTPStore *) f)->command_lock)) -#else -#define CAMEL_NNTP_STORE_LOCK(f) -#define CAMEL_NNTP_STORE_UNLOCK(f) -#endif - -/* public methods */ -void camel_nntp_store_open (CamelNNTPStore *store, CamelException *ex); -void camel_nntp_store_close (CamelNNTPStore *store, gboolean expunge, - CamelException *ex); - -void camel_nntp_store_subscribe_group (CamelStore *store, const gchar *group_name); -void camel_nntp_store_unsubscribe_group (CamelStore *store, const gchar *group_name); -GList *camel_nntp_store_list_subscribed_groups(CamelStore *store); - -gchar *camel_nntp_store_get_toplevel_dir (CamelNNTPStore *store); - -/* support functions */ -int camel_nntp_command (CamelNNTPStore *store, CamelException *ex, char **ret, char *fmt, ...); - /* 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); + #ifdef __cplusplus } #endif /* __cplusplus */ |