From f9ffe647231a7ba2bd5347d92d560b6a57fee786 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 15 May 2013 09:17:58 -0400 Subject: 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. --- modules/itip-formatter/e-mail-part-itip.h | 34 +++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) (limited to 'modules/itip-formatter/e-mail-part-itip.h') diff --git a/modules/itip-formatter/e-mail-part-itip.h b/modules/itip-formatter/e-mail-part-itip.h index 78004bca96..ef978bed8e 100644 --- a/modules/itip-formatter/e-mail-part-itip.h +++ b/modules/itip-formatter/e-mail-part-itip.h @@ -26,17 +26,34 @@ #include "itip-view.h" -#define E_MAIL_PART_ITIP(part) \ - ((EMailPartItip *) part) -#define E_IS_MAIL_PART_ITIP(part) \ - (E_MAIL_PART_IS (part, EMailPartItip)) +/* Standard GObject macros */ +#define E_TYPE_MAIL_PART_ITIP \ + (e_mail_part_itip_get_type ()) +#define E_MAIL_PART_ITIP(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST \ + ((obj), E_TYPE_MAIL_PART_ITIP, EMailPartItip)) +#define E_MAIL_PART_ITIP_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_CAST \ + ((cls), E_TYPE_MAIL_PART_ITIP, EMailPartItipClass)) +#define E_IS_MAIL_PART_ITIP(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE \ + ((obj), E_TYPE_MAIL_PART_ITIP)) +#define E_IS_MAIL_PART_ITIP_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_TYPE \ + ((cls), E_TYPE_MAIL_PART_ITIP)) +#define E_MAIL_PART_ITIP_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS \ + ((obj), E_TYPE_MAIL_PART_ITIP, EMailPartItipClass)) G_BEGIN_DECLS typedef struct _EMailPartItip EMailPartItip; +typedef struct _EMailPartItipClass EMailPartItipClass; +typedef struct _EMailPartItipPrivate EMailPartItipPrivate; struct _EMailPartItip { EMailPart parent; + EMailPartItipPrivate *priv; CamelFolder *folder; CamelMimeMessage *msg; @@ -114,6 +131,15 @@ struct _EMailPartItip { ItipView *view; }; +struct _EMailPartItipClass { + EMailPartClass parent_class; +}; + +GType e_mail_part_itip_get_type (void) G_GNUC_CONST; +void e_mail_part_itip_type_register (GTypeModule *type_module); +EMailPartItip * e_mail_part_itip_new (CamelMimePart *mime_part, + const gchar *id); + G_END_DECLS #endif /* E_MAIL_PART_ITIP_H */ -- cgit v1.2.3