1
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
2
/* Copyright (C) 2001-2004 Novell, Inc. */
4
#ifndef __EXCHANGE_HIERARCHY_H__
5
#define __EXCHANGE_HIERARCHY_H__
7
#include "exchange-types.h"
8
#include "exchange-account.h"
13
#define EXCHANGE_TYPE_HIERARCHY (exchange_hierarchy_get_type ())
14
#define EXCHANGE_HIERARCHY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EXCHANGE_TYPE_HIERARCHY, ExchangeHierarchy))
15
#define EXCHANGE_HIERARCHY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EXCHANGE_TYPE_HIERARCHY, ExchangeHierarchyClass))
16
#define EXCHANGE_IS_HIERARCHY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EXCHANGE_TYPE_HIERARCHY))
17
#define EXCHANGE_IS_HIERARCHY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), EXCHANGE_TYPE_HIERARCHY))
19
struct _ExchangeHierarchy {
22
ExchangeAccount *account;
23
ExchangeHierarchyType type;
30
gboolean hide_private_items;
33
struct _ExchangeHierarchyClass {
34
GObjectClass parent_class;
37
gboolean (*is_empty) (ExchangeHierarchy *hier);
39
void (*add_to_storage) (ExchangeHierarchy *hier);
40
void (*rescan) (ExchangeHierarchy *hier);
41
ExchangeAccountFolderResult (*scan_subtree) (ExchangeHierarchy *hier,
45
ExchangeAccountFolderResult (*create_folder) (ExchangeHierarchy *hier,
49
ExchangeAccountFolderResult (*remove_folder) (ExchangeHierarchy *hier,
51
ExchangeAccountFolderResult (*xfer_folder) (ExchangeHierarchy *hier,
54
const gchar *dest_name,
55
gboolean remove_source);
58
void (*new_folder) (ExchangeHierarchy *hier,
60
void (*removed_folder) (ExchangeHierarchy *hier,
64
GType exchange_hierarchy_get_type (void);
66
void exchange_hierarchy_construct (ExchangeHierarchy *hier,
67
ExchangeAccount *account,
68
ExchangeHierarchyType type,
70
const gchar *owner_name,
71
const gchar *owner_email,
72
const gchar *source_uri);
74
void exchange_hierarchy_new_folder (ExchangeHierarchy *hier,
76
void exchange_hierarchy_removed_folder (ExchangeHierarchy *hier,
79
gboolean exchange_hierarchy_is_empty (ExchangeHierarchy *hier);
81
void exchange_hierarchy_add_to_storage (ExchangeHierarchy *hier);
82
void exchange_hierarchy_rescan (ExchangeHierarchy *hier);
83
ExchangeAccountFolderResult exchange_hierarchy_scan_subtree (ExchangeHierarchy *hier,
87
ExchangeAccountFolderResult exchange_hierarchy_create_folder (ExchangeHierarchy *hier,
91
ExchangeAccountFolderResult exchange_hierarchy_remove_folder (ExchangeHierarchy *hier,
93
ExchangeAccountFolderResult exchange_hierarchy_xfer_folder (ExchangeHierarchy *hier,
96
const gchar *dest_name,
97
gboolean remove_source);
101
#endif /* __EXCHANGE_HIERARCHY_H__ */