Fix FSF address (Tobias Mueller, #470445)
[platform/upstream/evolution-data-server.git] / camel / providers / groupwise / camel-groupwise-folder.h
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /* camel-groupwise-folder.h: class for an groupwise folder */
3
4 /* 
5  * Authors:
6  *   Sivaiah Nallagatla <snallagatla@novell.com>
7  *   parthasarathi susarla <sparthasarathi@novell.com>
8  *  
9  *
10  * Copyright (C) 2004, Novell, Inc.
11  *
12  * This program is free software; you can redistribute it and/or 
13  * modify it under the terms of version 2 of the GNU Lesser General Public 
14  * License as published by the Free Software Foundation.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU Lesser General Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
24  * USA
25  */
26
27
28 #ifndef CAMEL_GROUPWISE_FOLDER_H
29 #define CAMEL_GROUPWISE_FOLDER_H 1
30
31 #include <camel/camel-offline-folder.h>
32 #include <camel/camel-mime-message.h>
33 #include <camel/camel-folder-summary.h>
34 #include <camel/camel-internet-address.h>
35 #include <camel/camel-data-cache.h>
36 #include <camel/camel-multipart.h>
37 #include <camel/camel-multipart-signed.h>
38 #include <camel/camel-multipart-encrypted.h>
39 #include <camel/camel-offline-journal.h>
40
41 #include "camel-groupwise-summary.h"
42
43 #define CAMEL_GROUPWISE_FOLDER_TYPE     (camel_groupwise_folder_get_type ())
44 #define CAMEL_GROUPWISE_FOLDER(obj)     (CAMEL_CHECK_CAST((obj), CAMEL_GROUPWISE_FOLDER_TYPE, CamelGroupwiseFolder))
45 #define CAMEL_GROUPWISE_FOLDER_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_GROUPWISE_FOLDER_TYPE, CamelGroupwiseFolderClass))
46 #define CAMEL_IS_GROUPWISE_FOLDER(o)    (CAMEL_CHECK_TYPE((o), CAMEL_GROUPWISE_FOLDER_TYPE))
47
48 G_BEGIN_DECLS
49
50 typedef struct  _CamelGroupwiseFolder CamelGroupwiseFolder;
51 typedef struct  _CamelGroupwiseFolderClass CamelGroupwiseFolderClass;
52 struct _CamelGroupwiseFolder {
53         CamelOfflineFolder parent_object;
54
55         struct _CamelGroupwiseFolderPrivate *priv;
56
57         CamelFolderSearch *search;
58
59         CamelOfflineJournal *journal;
60         CamelDataCache *cache;
61
62         unsigned int need_rescan:1;
63         unsigned int need_refresh:1;
64         unsigned int read_only:1;
65
66
67 };
68
69 struct _CamelGroupwiseFolderClass {
70         CamelOfflineFolderClass parent_class;
71
72         /* Virtual methods */   
73         
74 } ;
75
76
77 /* Standard Camel function */
78 CamelType camel_groupwise_folder_get_type (void);
79
80 /* implemented */
81 CamelFolder * camel_gw_folder_new(CamelStore *store, const char *folder_dir, const char *folder_name, CamelException *ex) ;
82 void gw_update_summary ( CamelFolder *folder, GList *item_list,CamelException *ex) ;
83 void groupwise_refresh_folder(CamelFolder *folder, CamelException *ex);
84
85 G_END_DECLS
86
87 #endif /* CAMEL_GROUPWISE_FOLDER_H */