2012-04-01 [colin] 3.8.0cvs36
[claws.git] / src / addressbook-dbus.h
1 /*
2  * $Id$
3  */
4 /* vim:et:ts=4:sw=4:et:sts=4:ai:set list listchars=tab\:»·,trail\:·: */
5
6 /*
7  * Claws-contacts is a proposed new design for the address book feature
8  * in Claws Mail. The goal for this new design was to create a
9  * solution more suitable for the term lightweight and to be more
10  * maintainable than the present implementation.
11  *
12  * More lightweight is achieved by design, in that sence that the whole
13  * structure is based on a plugable design.
14  *
15  * Claws Mail is Copyright (C) 1999-2011 by the Claws Mail Team and
16  * Claws-contacts is Copyright (C) 2011 by Michael Rasmussen.
17  *
18  * This program is free software; you can redistribute it and/or modify
19  * it under the terms of the GNU General Public License as published by
20  * the Free Software Foundation; either version 3 of the License, or
21  * (at your option) any later version.
22  *
23  * This program is distributed in the hope that it will be useful,
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26  * GNU General Public License for more details.
27  *
28  * You should have received a copy of the GNU General Public License
29  * along with this program. If not, see <http://www.gnu.org/licenses/>.
30  * 
31  */
32
33 #ifndef __ADDRESSBOOK_DBUS_H__
34 #define __ADDRESSBOOK_DBUS_H__
35
36 #include <glib.h>
37
38 G_BEGIN_DECLS
39
40 #include <gtk/gtk.h>
41 #include "folder.h"
42 #include "compose.h"
43
44 typedef struct {
45         gchar*          cn;
46         gchar*          email;
47         gchar*          remarks;
48         gchar*          name;
49         gchar*          book;
50         GdkPixbuf* picture;
51 } ContactData;
52
53 gboolean addressbook_start_service(GError** error);
54 void addressbook_install_hooks(GError** error);
55 int addressbook_dbus_add_contact(ContactData* contact, GError** error);
56 gboolean addrindex_dbus_load_completion(gint (*callBackFunc)
57                                                                                 (const gchar* name,
58                                                                                  const gchar* address,
59                                                                                  const gchar* nick,
60                                                                                  const gchar* alias,
61                                                                                  GList* grp_emails),
62                                                                                  GError** error);
63 void addressbook_dbus_open(gboolean compose, GError** error);
64 GSList* addressbook_dbus_get_books(GError** error);
65 void contact_data_free(ContactData** data);
66 void addressbook_harvest(FolderItem *folderItem,
67                                                  gboolean sourceInd,
68                                                  GList *msgList );
69 void addressbook_connect_signals(Compose* compose);
70 gchar* addressbook_get_vcard(const gchar* account, GError** error);
71 gboolean addressbook_add_vcard(const gchar* abook, const gchar* vcard, GError** error);
72
73 G_END_DECLS
74
75 #endif