1 /*
2  * eab-contact-formatter.h
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
10  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
11  * for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program; if not, see <http://www.gnu.org/licenses/>.
15  *
16  */
17 
18 #ifndef EAB_CONTACT_FORMATTER_H
19 #define EAB_CONTACT_FORMATTER_H
20 
21 #include <camel/camel.h>
22 #include <libebook/libebook.h>
23 
24 #include <addressbook/gui/widgets/eab-contact-display.h>
25 
26 /* Standard GObject macros */
27 #define EAB_TYPE_CONTACT_FORMATTER \
28 	(eab_contact_formatter_get_type ())
29 #define EAB_CONTACT_FORMATTER(obj) \
30 	(G_TYPE_CHECK_INSTANCE_CAST \
31 	((obj), EAB_TYPE_CONTACT_FORMATTER, EABContactFormatter))
32 #define EAB_CONTACT_FORMATTER_CLASS(cls) \
33 	(G_TYPE_CHECK_CLASS_CAST \
34 	((cls), EAB_TYPE_CONTACT_FORMATTER, EABContactFormatterClass))
35 #define EAB_IS_CONTACT_FORMATTER(obj) \
36 	(G_TYPE_CHECK_INSTANCE_TYPE \
37 	((obj), EAB_TYPE_CONTACT_FORMATTER))
38 #define EAB_IS_CONTACT_FORMATTER_CLASS(cls) \
39 	(G_TYPE_CHECK_CLASS_TYPE \
40 	((cls), EAB_TYPE_CONTACT_FORMATTER))
41 #define EAB_CONTACT_FORMATTER_GET_CLASS(obj) \
42 	(G_TYPE_ISNTANCE_GET_CLASS \
43 	((obj), EAB_TYPE_CONTACT_FORMATTER, EABContactFormatterClass))
44 
45 G_BEGIN_DECLS
46 
47 typedef struct _EABContactFormatter EABContactFormatter;
48 typedef struct _EABContactFormatterClass EABContactFormatterClass;
49 typedef struct _EABContactFormatterPrivate EABContactFormatterPrivate;
50 
51 struct _EABContactFormatter {
52 	GObject parent;
53 	EABContactFormatterPrivate *priv;
54 };
55 
56 struct _EABContactFormatterClass {
57 	GObjectClass parent_class;
58 };
59 
60 GType		eab_contact_formatter_get_type	(void) G_GNUC_CONST;
61 EABContactFormatter *
62 		eab_contact_formatter_new	(void);
63 gboolean	eab_contact_formatter_get_render_maps
64 						(EABContactFormatter *formatter);
65 void		eab_contact_formatter_set_render_maps
66 						(EABContactFormatter *formatter,
67 						 gboolean render_maps);
68 EABContactDisplayMode
69 		eab_contact_formatter_get_display_mode
70 						(EABContactFormatter *formatter);
71 void		eab_contact_formatter_set_display_mode
72 						(EABContactFormatter *formatter,
73 						 EABContactDisplayMode mode);
74 void		eab_contact_formatter_format_contact
75 						(EABContactFormatter *formatter,
76 						 EContact *contact,
77 						 GString *output_buffer);
78 
79 G_END_DECLS
80 
81 #endif /* EAB_CONTACT_FORMATTER_H */
82 
83