1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3 /* e-destination-store.h - EDestination store with GtkTreeModel interface.
5 * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Lesser General Public License as published by
9 * the Free Software Foundation.
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with this program; if not, see <http://www.gnu.org/licenses/>.
19 * Authors: Hans Petter Jansson <hpj@novell.com>
22 #if !defined (__E_UTIL_H_INSIDE__) && !defined (LIBEUTIL_COMPILATION)
23 #error "Only <e-util/e-util.h> should be included directly."
26 #ifndef E_DESTINATION_STORE_H
27 #define E_DESTINATION_STORE_H
30 #include <libebook/libebook.h>
32 /* Standard GObject macros */
33 #define E_TYPE_DESTINATION_STORE \
34 (e_destination_store_get_type ())
35 #define E_DESTINATION_STORE(obj) \
36 (G_TYPE_CHECK_INSTANCE_CAST \
37 ((obj), E_TYPE_DESTINATION_STORE, EDestinationStore))
38 #define E_DESTINATION_STORE_CLASS(cls) \
39 (G_TYPE_CHECK_CLASS_CAST \
40 ((cls), E_TYPE_DESTINATION_STORE, EDestinationStoreClass))
41 #define E_IS_DESTINATION_STORE(obj) \
42 (G_TYPE_CHECK_INSTANCE_TYPE \
43 ((obj), E_TYPE_DESTINATION_STORE))
44 #define E_IS_DESTINATION_STORE_CLASS(cls) \
45 (G_TYPE_CHECK_CLASS_TYPE \
46 ((cls), E_TYPE_DESTINATION_STORE))
47 #define E_DESTINATION_STORE_GET_CLASS(obj) \
48 (G_TYPE_INSTANCE_GET_CLASS \
49 ((obj), E_TYPE_DESTINATION_STORE, EDestinationStoreClass))
53 typedef struct _EDestinationStore EDestinationStore
;
54 typedef struct _EDestinationStoreClass EDestinationStoreClass
;
55 typedef struct _EDestinationStorePrivate EDestinationStorePrivate
;
57 struct _EDestinationStore
{
59 EDestinationStorePrivate
*priv
;
62 struct _EDestinationStoreClass
{
63 GObjectClass parent_class
;
67 E_DESTINATION_STORE_COLUMN_NAME
,
68 E_DESTINATION_STORE_COLUMN_EMAIL
,
69 E_DESTINATION_STORE_COLUMN_ADDRESS
,
70 E_DESTINATION_STORE_NUM_COLUMNS
71 } EDestinationStoreColumnType
;
73 GType
e_destination_store_get_type (void) G_GNUC_CONST
;
75 e_destination_store_new (void);
76 EDestination
* e_destination_store_get_destination
77 (EDestinationStore
*destination_store
,
80 /* Returns a shallow copy; free the list when done, but don't unref elements */
81 GList
* e_destination_store_list_destinations
82 (EDestinationStore
*destination_store
);
84 void e_destination_store_insert_destination
85 (EDestinationStore
*destination_store
,
87 EDestination
*destination
);
88 void e_destination_store_append_destination
89 (EDestinationStore
*destination_store
,
90 EDestination
*destination
);
91 void e_destination_store_remove_destination
92 (EDestinationStore
*destination_store
,
93 EDestination
*destination
);
94 void e_destination_store_remove_destination_nth
95 (EDestinationStore
*destination_store
,
97 guint e_destination_store_get_destination_count
98 (EDestinationStore
*destination_store
);
99 GtkTreePath
* e_destination_store_get_path (GtkTreeModel
*tree_model
,
101 gint
e_destination_store_get_stamp (EDestinationStore
*destination_store
);
105 #endif /* E_DESTINATION_STORE_H */