Fix FSF address (Tobias Mueller, #470445)
[platform/upstream/evolution-data-server.git] / camel / providers / groupwise / camel-groupwise-summary.h
1 /*
2  *  Copyright (C) 2000 Novell Inc.
3  *
4  *  Authors:
5  *      parthasarathi susarla <sparthasarathi@novell.com>
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of version 2 of the GNU Lesser General Public
9  * License as published by the Free Software Foundation.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this program; if not, write to the
18  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19  * Boston, MA 02110-1301, USA.
20  */
21
22 #ifndef _CAMEL_GW_SUMMARY_H
23 #define _CAMEL_GW_SUMMARY_H
24
25 #include <camel/camel-folder-summary.h>
26 #include <camel/camel-exception.h>
27 #include <camel/camel-store.h>
28
29 #define CAMEL_GROUPWISE_SUMMARY(obj)         CAMEL_CHECK_CAST (obj, camel_groupwise_summary_get_type (), CamelGroupwiseSummary)
30 #define CAMEL_GROUPWISE_SUMMARY_CLASS(klass) CAMEL_CHECK_CLASS_CAST (klass, camel_groupwise_summary_get_type (), CamelGroupwiseSummaryClass)
31 #define CAMEL_IS_GROUPWISE_SUMMARY(obj)      CAMEL_CHECK_TYPE (obj, camel_groupwise_summary_get_type ())
32
33 G_BEGIN_DECLS
34
35 typedef struct _CamelGroupwiseSummary CamelGroupwiseSummary ;
36 typedef struct _CamelGroupwiseSummaryClass CamelGroupwiseSummaryClass ;
37 typedef struct _CamelGroupwiseMessageInfo CamelGroupwiseMessageInfo ;
38 typedef struct _CamelGroupwiseMessageContentInfo CamelGroupwiseMessageContentInfo ;
39
40 /* extra summary flags*/
41 enum {
42         CAMEL_GW_MESSAGE_JUNK = 1<<17,
43         CAMEL_GW_MESSAGE_NOJUNK = 1<<18,
44 };
45
46 struct _CamelGroupwiseMessageInfo {
47         CamelMessageInfoBase info;
48
49         guint32 server_flags;
50 } ;
51
52
53 struct _CamelGroupwiseMessageContentInfo {
54         CamelMessageContentInfo info ;
55 } ; 
56
57
58 struct _CamelGroupwiseSummary {
59         CamelFolderSummary parent ;
60
61         char *time_string;
62         guint32 version ;
63         guint32 validity ;
64 } ;
65
66
67 struct _CamelGroupwiseSummaryClass {
68         CamelFolderSummaryClass parent_class ;
69 } ;
70
71
72 CamelType camel_groupwise_summary_get_type (void) ;
73
74 CamelFolderSummary *camel_groupwise_summary_new (struct _CamelFolder *folder, const char *filename) ;
75
76 void camel_gw_summary_add_offline (CamelFolderSummary *summary, const char *uid, CamelMimeMessage *messgae, const CamelMessageInfo *info) ;
77
78 void camel_gw_summary_add_offline_uncached (CamelFolderSummary *summary, const char *uid, const CamelMessageInfo *info) ;
79 void groupwise_summary_clear (CamelFolderSummary *summary, gboolean uncache);
80
81 G_END_DECLS
82
83 #endif /*_CAMEL_GW_SUMMARY_H*/