libpurple/presence.h

changeset 39539
f221f88ff0b0
parent 39538
00ee7c55cd54
child 39659
e4dfb99b0cef
--- a/libpurple/presence.h	Fri Mar 29 02:40:42 2019 -0400
+++ b/libpurple/presence.h	Fri Mar 29 02:50:38 2019 -0400
@@ -32,40 +32,6 @@
  * presence API.
  */
 
-#define PURPLE_TYPE_PRESENCE             (purple_presence_get_type())
-#define PURPLE_PRESENCE(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_PRESENCE, PurplePresence))
-#define PURPLE_PRESENCE_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_PRESENCE, PurplePresenceClass))
-#define PURPLE_IS_PRESENCE(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PRESENCE))
-#define PURPLE_IS_PRESENCE_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_PRESENCE))
-#define PURPLE_PRESENCE_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_PRESENCE, PurplePresenceClass))
-
-typedef struct _PurplePresence  PurplePresence;
-typedef struct _PurplePresenceClass  PurplePresenceClass;
-
-#define PURPLE_TYPE_ACCOUNT_PRESENCE             (purple_account_presence_get_type())
-#define PURPLE_ACCOUNT_PRESENCE(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_ACCOUNT_PRESENCE, PurpleAccountPresence))
-#define PURPLE_ACCOUNT_PRESENCE_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_ACCOUNT_PRESENCE, PurpleAccountPresenceClass))
-#define PURPLE_IS_ACCOUNT_PRESENCE(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_ACCOUNT_PRESENCE))
-#define PURPLE_IS_ACCOUNT_PRESENCE_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_ACCOUNT_PRESENCE))
-#define PURPLE_ACCOUNT_PRESENCE_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_ACCOUNT_PRESENCE, PurpleAccountPresenceClass))
-
-typedef struct _PurpleAccountPresence  PurpleAccountPresence;
-typedef struct _PurpleAccountPresenceClass  PurpleAccountPresenceClass;
-
-#define PURPLE_TYPE_BUDDY_PRESENCE             (purple_buddy_presence_get_type())
-#define PURPLE_BUDDY_PRESENCE(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_BUDDY_PRESENCE, PurpleBuddyPresence))
-#define PURPLE_BUDDY_PRESENCE_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_BUDDY_PRESENCE, PurpleBuddyPresenceClass))
-#define PURPLE_IS_BUDDY_PRESENCE(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_BUDDY_PRESENCE))
-#define PURPLE_IS_BUDDY_PRESENCE_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_BUDDY_PRESENCE))
-#define PURPLE_BUDDY_PRESENCE_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_BUDDY_PRESENCE, PurpleBuddyPresenceClass))
-
-typedef struct _PurpleBuddyPresence  PurpleBuddyPresence;
-typedef struct _PurpleBuddyPresenceClass  PurpleBuddyPresenceClass;
-
-#include "account.h"
-#include "buddylist.h"
-#include "status.h"
-
 /**
  * PurplePresence:
  *
@@ -82,10 +48,11 @@
  * Note: When a presence is destroyed with the last g_object_unref(), all
  *       statuses added to this list will be destroyed along with the presence.
  */
-struct _PurplePresence
-{
-	GObject gparent;
-};
+typedef struct _PurplePresence PurplePresence;
+
+#include "account.h"
+#include "buddylist.h"
+#include "status.h"
 
 /**
  * PurplePresenceClass:
@@ -106,68 +73,21 @@
 	void (*_purple_reserved4)(void);
 };
 
-/**
- * PurpleAccountPresence:
- *
- * A presence for an account
- */
-struct _PurpleAccountPresence
-{
-	PurplePresence parent;
-};
-
-/**
- * PurpleAccountPresenceClass:
- *
- * Base class for all #PurpleAccountPresence's
- */
-struct _PurpleAccountPresenceClass {
-	PurplePresenceClass parent_class;
-
-	/*< private >*/
-	void (*_purple_reserved1)(void);
-	void (*_purple_reserved2)(void);
-	void (*_purple_reserved3)(void);
-	void (*_purple_reserved4)(void);
-};
-
-/**
- * PurpleBuddyPresence:
- *
- * A presence for a buddy
- */
-struct _PurpleBuddyPresence
-{
-	PurplePresence parent;
-};
-
-/**
- * PurpleBuddyPresenceClass:
- *
- * Base class for all #PurpleBuddyPresence's
- */
-struct _PurpleBuddyPresenceClass {
-	PurplePresenceClass parent_class;
-
-	/*< private >*/
-	void (*_purple_reserved1)(void);
-	void (*_purple_reserved2)(void);
-	void (*_purple_reserved3)(void);
-	void (*_purple_reserved4)(void);
-};
-
 G_BEGIN_DECLS
 
 /**************************************************************************/
 /* PurplePresence API                                                     */
 /**************************************************************************/
 
+#define PURPLE_TYPE_PRESENCE  purple_presence_get_type()
+
 /**
  * purple_presence_get_type:
  *
  * Returns: The #GType for the #PurplePresence object.
  */
-GType purple_presence_get_type(void);
+G_DECLARE_DERIVABLE_TYPE(PurplePresence, purple_presence, PURPLE,
+		PRESENCE, GObject)
 
 /**
  * purple_presence_set_status_active:
@@ -339,12 +259,15 @@
 /* PurpleAccountPresence API                                              */
 /**************************************************************************/
 
+#define PURPLE_TYPE_ACCOUNT_PRESENCE (purple_account_presence_get_type())
+
 /**
  * purple_account_presence_get_type:
  *
  * Returns: The #GType for the #PurpleAccountPresence object.
  */
-GType purple_account_presence_get_type(void);
+G_DECLARE_FINAL_TYPE(PurpleAccountPresence, purple_account_presence,
+		PURPLE, ACCOUNT_PRESENCE, PurplePresence)
 
 /**
  * purple_account_presence_new:
@@ -370,12 +293,15 @@
 /* PurpleBuddyPresence API                                                */
 /**************************************************************************/
 
+#define PURPLE_TYPE_BUDDY_PRESENCE (purple_buddy_presence_get_type())
+
 /**
  * purple_buddy_presence_get_type:
  *
  * Returns: The #GType for the #PurpleBuddyPresence object.
  */
-GType purple_buddy_presence_get_type(void);
+G_DECLARE_FINAL_TYPE(PurpleBuddyPresence, purple_buddy_presence, PURPLE,
+		BUDDY_PRESENCE, PurplePresence)
 
 /**
  * purple_buddy_presence_new:

mercurial