2 * Evolution integration plugin for Purple
4 * Copyright (C) 2003 Christian Hammond.
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation; either version 2 of the
9 * License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21 #ifndef _GEVOLUTION_H_
22 #define _GEVOLUTION_H_
28 #include <libebook/libebook.h>
39 GtkListStore
*sources
;
43 } GevoAddrbooksSelector
;
47 PurpleAccount
*account
;
54 GtkWidget
*addrbooks_combo
;
55 GtkWidget
*search_field
;
56 GtkWidget
*group_combo
;
57 GtkWidget
*select_button
;
58 GtkWidget
*account_optmenu
;
61 GtkTreeModel
*addrbooks
;
70 PurpleAccount
*account
;
77 GtkWidget
*accounts_menu
;
82 GtkWidget
*group_combo
;
83 GtkWidget
*add_button
;
87 } GevoNewPersonDialog
;
97 GtkWidget
*addrbooks_combo
;
98 GtkWidget
*search_field
;
99 GtkWidget
*assoc_button
;
102 GtkTreeModel
*addrbooks
;
105 } GevoAssociateBuddyDialog
;
107 void gevo_add_buddy_dialog_show(PurpleAccount
*account
, const char *username
,
108 const char *group
, const char *alias
);
109 void gevo_add_buddy_dialog_add_person(GevoAddBuddyDialog
*dialog
,
111 const char *name
, PurpleAccount
*account
,
112 const char *screenname
);
114 void gevo_new_person_dialog_show(EBook
*book
, EContact
*contact
,
115 PurpleAccount
*account
, const char *username
,
116 const char *group
, PurpleBuddy
*buddy
,
117 gboolean person_only
);
119 void gevo_add_buddy(PurpleAccount
*account
, const char *group_name
,
120 const char *screenname
, const char *alias
);
121 GList
*gevo_get_groups(void);
123 EContactField
gevo_protocol_get_field(PurpleAccount
*account
, PurpleBuddy
*buddy
);
124 gboolean
gevo_protocol_is_supported(PurpleAccount
*account
, PurpleBuddy
*buddy
);
125 gboolean
gevo_load_addressbook(const gchar
*uid
, EBook
**book
, GError
**error
);
126 gboolean
gevo_load_addressbook_from_source(ESource
*source
, EBook
**book
,
128 char *gevo_get_email_for_buddy(PurpleBuddy
*buddy
);
130 GevoAssociateBuddyDialog
*gevo_associate_buddy_dialog_new(PurpleBuddy
*buddy
);
132 GtkTreeModel
*gevo_addrbooks_model_new(void);
133 void gevo_addrbooks_model_unref(GtkTreeModel
*model
);
134 void gevo_addrbooks_model_populate(GtkTreeModel
*model
);
135 EContact
*gevo_search_buddy_in_contacts(PurpleBuddy
*buddy
, EBookQuery
*query
);
137 #endif /* _GEVOLUTION_H_ */