/soc/2013/ankitkv/gobjectification: 76a778894fc1: Exposed the in...

Ankit Vani a at nevitus.org
Wed Jun 12 13:31:55 EDT 2013


Changeset: 76a778894fc1e608988f888cf16491094222c617
Author:	 Ankit Vani <a at nevitus.org>
Date:	 2013-06-12 23:01 +0530
Branch:	 soc.2013.gobjectification
URL: https://hg.pidgin.im/soc/2013/ankitkv/gobjectification/rev/76a778894fc1

Description:

Exposed the instance and class structures of PurpleMedia so that it can be subclassed

diffstat:

 libpurple/media.c |  17 -----------------
 libpurple/media.h |  34 +++++++++++++++++++++++++++++++++-
 2 files changed, 33 insertions(+), 18 deletions(-)

diffs (76 lines):

diff --git a/libpurple/media.c b/libpurple/media.c
--- a/libpurple/media.c
+++ b/libpurple/media.c
@@ -44,23 +44,6 @@
 typedef struct _PurpleMediaSession PurpleMediaSession;
 /** @copydoc _PurpleMediaStream */
 typedef struct _PurpleMediaStream PurpleMediaStream;
-/** @copydoc _PurpleMediaClass */
-typedef struct _PurpleMediaClass PurpleMediaClass;
-/** @copydoc _PurpleMediaPrivate */
-typedef struct _PurpleMediaPrivate PurpleMediaPrivate;
-
-/** The media class */
-struct _PurpleMediaClass
-{
-	GObjectClass parent_class;     /**< The parent class. */
-};
-
-/** The media class's private data */
-struct _PurpleMedia
-{
-	GObject parent;                /**< The parent of this object. */
-	PurpleMediaPrivate *priv;      /**< The private data of this object. */
-};
 
 struct _PurpleMediaSession
 {
diff --git a/libpurple/media.h b/libpurple/media.h
--- a/libpurple/media.h
+++ b/libpurple/media.h
@@ -41,12 +41,44 @@
 #define PURPLE_IS_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA))
 #define PURPLE_MEDIA_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA, PurpleMediaClass))
 
-/** An opaque structure representing a media call. */
+/** A structure representing a media call. */
 typedef struct _PurpleMedia PurpleMedia;
 
 #include "signals.h"
 #include "util.h"
 
+#ifdef USE_VV
+
+/** @copydoc _PurpleMediaClass */
+typedef struct _PurpleMediaClass    PurpleMediaClass;
+/** @copydoc _PurpleMediaPrivate */
+typedef struct _PurpleMediaPrivate  PurpleMediaPrivate;
+
+/** The media instance */
+struct _PurpleMedia
+{
+	GObject parent;                /**< The parent of this object. */
+	PurpleMediaPrivate *priv;      /**< The private data of this object. */
+
+	void (*purple_reserved1)(void);
+	void (*purple_reserved2)(void);
+	void (*purple_reserved3)(void);
+	void (*purple_reserved4)(void);
+};
+
+/** The media class */
+struct _PurpleMediaClass
+{
+	GObjectClass parent_class;     /**< The parent class. */
+
+	void (*purple_reserved1)(void);
+	void (*purple_reserved2)(void);
+	void (*purple_reserved3)(void);
+	void (*purple_reserved4)(void);
+};
+
+#endif
+
 G_BEGIN_DECLS
 
 /**



More information about the Commits mailing list