aboutsummaryrefslogtreecommitdiffstats
path: root/em-format/e-mail-part-attachment.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 /em-format/e-mail-part-attachment.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 'em-format/e-mail-part-attachment.h')
-rw-r--r--em-format/e-mail-part-attachment.h40
1 files changed, 32 insertions, 8 deletions
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 <em-format/e-mail-part.h>
-#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);