aboutsummaryrefslogtreecommitdiffstats
path: root/modules/vcard-inline/e-mail-part-vcard.h
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-05-15 21:17:58 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-05-20 01:07:22 +0800
commitf9ffe647231a7ba2bd5347d92d560b6a57fee786 (patch)
tree6c1245d91a399647fc25521bc1f38cf564210979 /modules/vcard-inline/e-mail-part-vcard.h
parent0b4e7ec091c8bbe65dc2f2afd7da78b04da7c274 (diff)
downloadgsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.gz
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.bz2
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.lz
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.xz
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.zst
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.zip
Convert EMailPart to a GObject.
EMailPart is reference-counted, subclassed, and allows a custom finalize function. There's no excuse for it not to use GObject.
Diffstat (limited to 'modules/vcard-inline/e-mail-part-vcard.h')
-rw-r--r--modules/vcard-inline/e-mail-part-vcard.h33
1 files changed, 31 insertions, 2 deletions
diff --git a/modules/vcard-inline/e-mail-part-vcard.h b/modules/vcard-inline/e-mail-part-vcard.h
index c05b0a8570..a6d726791a 100644
--- a/modules/vcard-inline/e-mail-part-vcard.h
+++ b/modules/vcard-inline/e-mail-part-vcard.h
@@ -24,15 +24,34 @@
#include <addressbook/gui/widgets/eab-contact-formatter.h>
#include <webkit/webkitdom.h>
-#define E_IS_MAIL_PART_VCARD(part) \
- (E_MAIL_PART_IS (part, EMailPartVCard))
+/* Standard GObject macros */
+#define E_TYPE_MAIL_PART_VCARD \
+ (e_mail_part_vcard_get_type ())
+#define E_MAIL_PART_VCARD(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST \
+ ((obj), E_TYPE_MAIL_PART_VCARD, EMailPartVCard))
+#define E_MAIL_PART_VCARD_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_CAST \
+ ((cls), E_TYPE_MAIL_PART_VCARD, EMailPartVCardClass))
+#define E_IS_MAIL_PART_VCARD(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE \
+ ((obj), E_TYPE_MAIL_PART_VCARD))
+#define E_IS_MAIL_PART_VCARD_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_TYPE \
+ ((cls), E_TYPE_MAIL_PART_VCARD))
+#define E_MAIL_PART_VCARD_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS \
+ ((obj), E_TYPE_MAIL_PART_VCARD, EMailPartVCardClass))
G_BEGIN_DECLS
typedef struct _EMailPartVCard EMailPartVCard;
+typedef struct _EMailPartVCardClass EMailPartVCardClass;
+typedef struct _EMailPartVCardPrivate EMailPartVCardPrivate;
struct _EMailPartVCard {
EMailPart parent;
+ EMailPartVCardPrivate *priv;
GSList *contact_list;
GtkWidget *contact_display;
@@ -47,6 +66,16 @@ struct _EMailPartVCard {
gchar *message_uid;
};
+struct _EMailPartVCardClass {
+ EMailPartClass parent_class;
+};
+
+GType e_mail_part_vcard_get_type (void) G_GNUC_CONST;
+void e_mail_part_vcard_type_register (GTypeModule *type_module);
+EMailPartVCard *
+ e_mail_part_vcard_new (CamelMimePart *mime_part,
+ const gchar *id);
+
G_END_DECLS
#endif /* E_MAIL_PART_VCARD_H */