aboutsummaryrefslogtreecommitdiffstats
path: root/modules/audio-inline/e-mail-part-audio.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/audio-inline/e-mail-part-audio.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/audio-inline/e-mail-part-audio.h')
-rw-r--r--modules/audio-inline/e-mail-part-audio.h33
1 files changed, 31 insertions, 2 deletions
diff --git a/modules/audio-inline/e-mail-part-audio.h b/modules/audio-inline/e-mail-part-audio.h
index 628da0bc22..42459e01ff 100644
--- a/modules/audio-inline/e-mail-part-audio.h
+++ b/modules/audio-inline/e-mail-part-audio.h
@@ -19,17 +19,37 @@
#ifndef E_MAIL_PART_AUDIO_H
#define E_MAIL_PART_AUDIO_H
-#include <glib-object.h>
-
#include <em-format/e-mail-part.h>
#include <gst/gst.h>
+/* Standard GObject macros */
+#define E_TYPE_MAIL_PART_AUDIO \
+ (e_mail_part_audio_get_type ())
+#define E_MAIL_PART_AUDIO(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST \
+ ((obj), E_TYPE_MAIL_PART_AUDIO, EMailPartAudio))
+#define E_MAIL_PART_AUDIO_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_CAST \
+ ((cls), E_TYPE_MAIL_PART_AUDIO, EMailPartAudioClass))
+#define E_IS_MAIL_PART_AUDIO(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE \
+ ((obj), E_TYPE_MAIL_PART_AUDIO))
+#define E_IS_MAIL_PART_AUDIO_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_TYPE \
+ ((cls), E_TYPE_MAIL_PART_AUDIO))
+#define E_MAIL_PART_AUDIO_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS \
+ ((obj), E_TYPE_MAIL_PART_AUDIO, EMailPartAudioClass))
+
G_BEGIN_DECLS
typedef struct _EMailPartAudio EMailPartAudio;
+typedef struct _EMailPartAudioClass EMailPartAudioClass;
+typedef struct _EMailPartAudioPrivate EMailPartAudioPrivate;
struct _EMailPartAudio {
EMailPart parent;
+ EMailPartAudioPrivate *priv;
gchar *filename;
GstElement *playbin;
@@ -40,6 +60,15 @@ struct _EMailPartAudio {
GtkWidget *stop_button;
};
+struct _EMailPartAudioClass {
+ EMailPartClass parent_class;
+};
+
+GType e_mail_part_audio_get_type (void) G_GNUC_CONST;
+void e_mail_part_audio_type_register (GTypeModule *type_module);
+EMailPart * e_mail_part_audio_new (CamelMimePart *mime_part,
+ const gchar *id);
+
G_END_DECLS
#endif /* E_MAIL_PART_AUDIO_H */