1
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2
/* camel-groupwise-store.h : class for an groupwise store */
5
* Authors: Sivaiah Nallagatla <snallagatla@novell.com>
7
* Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
9
* This program is free software; you can redistribute it and/or
10
* modify it under the terms of version 2 of the GNU Lesser General Public
11
* License as published by the Free Software Foundation.
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU Lesser General Public License for more details.
18
* You should have received a copy of the GNU Lesser General Public License
19
* along with this program; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
24
#ifndef CAMEL_GROUPWISE_STORE_H
25
#define CAMEL_GROUPWISE_STORE_H
27
#include <camel/camel.h>
29
#include "camel-groupwise-store-summary.h"
31
#include <e-gw-connection.h>
32
#include <e-gw-container.h>
34
/* Standard GObject macros */
35
#define CAMEL_TYPE_GROUPWISE_STORE \
36
(camel_groupwise_store_get_type ())
37
#define CAMEL_GROUPWISE_STORE(obj) \
38
(G_TYPE_CHECK_INSTANCE_CAST \
39
((obj), CAMEL_TYPE_GROUPWISE_STORE, CamelGroupwiseStore))
40
#define CAMEL_GROUPWISE_STORE_CLASS(cls) \
41
(G_TYPE_CHECK_CLASS_CAST \
42
((cls), CAMEL_TYPE_GROUPWISE_STORE, CamelGroupwiseStoreClass))
43
#define CAMEL_IS_GROUPWISE_STORE(obj) \
44
(G_TYPE_CHECK_INSTANCE_TYPE \
45
((obj), CAMEL_TYPE_GROUPWISE_STORE))
46
#define CAMEL_IS_GROUPWISE_STORE_CLASS(cls) \
47
(G_TYPE_CHECK_CLASS_TYPE \
48
((cls), CAMEL_TYPE_GROUPWISE_STORE))
49
#define CAMEL_GROUPWISE_STORE_GET_CLASS(obj) \
50
(G_TYPE_INSTANCE_GET_CLASS \
51
((obj), CAMEL_TYPE_GROUPWISE_STORE, CamelGroupwiseStoreClass))
53
#define GW_PARAM_FILTER_INBOX (1 << 0)
57
typedef struct _CamelGroupwiseStore CamelGroupwiseStore;
58
typedef struct _CamelGroupwiseStoreClass CamelGroupwiseStoreClass;
59
typedef struct _CamelGroupwiseStorePrivate CamelGroupwiseStorePrivate;
61
struct _CamelGroupwiseStore {
62
CamelOfflineStore parent;
64
struct _CamelGroupwiseStoreSummary *summary;
66
gchar *root_container;
67
CamelGroupwiseStorePrivate *priv;
68
CamelFolder *current_folder;
70
/* the parameters field is not to be included not. probably for 2.6*/
71
/*guint32 parameters;*/
75
struct _CamelGroupwiseStoreClass {
76
CamelOfflineStoreClass parent_class;
79
GType camel_groupwise_store_get_type (void);
80
gchar * groupwise_get_name (CamelService *service,
82
const gchar * camel_groupwise_store_container_id_lookup
83
(CamelGroupwiseStore *store,
84
const gchar *folder_name);
85
const gchar * camel_groupwise_store_folder_lookup
86
(CamelGroupwiseStore *store,
87
const gchar *container_id);
88
EGwConnection * cnc_lookup (CamelGroupwiseStorePrivate *priv);
89
gchar * storage_path_lookup (CamelGroupwiseStorePrivate *priv);
90
const gchar * groupwise_base_url_lookup (CamelGroupwiseStorePrivate *priv);
92
create_junk_folder (CamelStore *store);
93
gboolean camel_groupwise_store_connected (CamelGroupwiseStore *store,
94
GCancellable *cancellable,
96
gboolean gw_store_reload_folder (CamelGroupwiseStore *store,
99
GCancellable *cancellable,
101
void groupwise_store_set_current_folder
102
(CamelGroupwiseStore *store,
103
CamelFolder *folder);
107
#endif /* CAMEL_GROUPWISE_STORE_H */