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. --- em-format/e-mail-part-attachment.h | 40 ++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) (limited to 'em-format/e-mail-part-attachment.h') diff --git a/em-format/e-mail-part-attachment.h b/em-format/e-mail-part-attachment.h index 24f0cf2f06..5c9fd617b0 100644 --- a/em-format/e-mail-part-attachment.h +++ b/em-format/e-mail-part-attachment.h @@ -21,28 +21,52 @@ #include -#define E_MAIL_PART_ATTACHMENT(part) \ - ((EMailPartAttachment *) part) -#define E_IS_MAIL_PART_ATTACHMENT(part) \ - (E_MAIL_PART_IS (part, EMailPartAttachment)) +/* Standard GObject macros */ +#define E_TYPE_MAIL_PART_ATTACHMENT \ + (e_mail_part_attachment_get_type ()) +#define E_MAIL_PART_ATTACHMENT(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST \ + ((obj), E_TYPE_MAIL_PART_ATTACHMENT, EMailPartAttachment)) +#define E_MAIL_PART_ATTACHMENT_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_CAST \ + ((cls), E_TYPE_MAIL_PART_ATTACHMENT, EMailPartAttachmentClass)) +#define E_IS_MAIL_PART_ATTACHMENT(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE \ + ((obj), E_TYPE_MAIL_PART_ATTACHMENT)) +#define E_IS_MAIL_PART_ATTACHMENT_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_TYPE \ + ((cls), E_TYPE_MAIL_PART_ATTACHMENT)) +#define E_MAIL_PART_ATTACHMENT_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS \ + ((obj), E_TYPE_MAIL_PART_ATTACHMENT, EMailPartAttachmentClass)) #define E_MAIL_PART_ATTACHMENT_MIME_TYPE \ "application/vnd.evolution.attachment" G_BEGIN_DECLS -typedef struct _EMailPartAttachment { +typedef struct _EMailPartAttachment EMailPartAttachment; +typedef struct _EMailPartAttachmentClass EMailPartAttachmentClass; +typedef struct _EMailPartAttachmentPrivate EMailPartAttachmentPrivate; + +struct _EMailPartAttachment { EMailPart parent; + EMailPartAttachmentPrivate *priv; - EAttachment *attachment; gchar *attachment_view_part_id; gboolean shown; const gchar *snoop_mime_type; +}; -} EMailPartAttachment; +struct _EMailPartAttachmentClass { + EMailPartClass parent_class; +}; -void e_mail_part_attachment_free (EMailPartAttachment *empa); +GType e_mail_part_attachment_get_type (void) G_GNUC_CONST; +EMailPartAttachment * + e_mail_part_attachment_new (CamelMimePart *mime_part, + const gchar *id); EAttachment * e_mail_part_attachment_ref_attachment (EMailPartAttachment *part); -- cgit v1.2.3