Use GObject macros for some plugin types.

Thu, 12 Sep 2019 20:51:15 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Thu, 12 Sep 2019 20:51:15 -0400
changeset 39893
e264fc382216
parent 39837
4cd31f854f9a
child 39894
7eab91ea30a1

Use GObject macros for some plugin types.

libpurple/plugins.c file | annotate | diff | comparison | revisions
libpurple/plugins.h file | annotate | diff | comparison | revisions
--- a/libpurple/plugins.c	Sun Sep 15 03:54:08 2019 -0400
+++ b/libpurple/plugins.c	Thu Sep 12 20:51:15 2019 -0400
@@ -629,19 +629,8 @@
 	return purple_plugin_action_new(action->label, action->callback);
 }
 
-GType
-purple_plugin_action_get_type(void)
-{
-	static GType type = 0;
-
-	if (G_UNLIKELY(type == 0)) {
-		type = g_boxed_type_register_static("PurplePluginAction",
-				(GBoxedCopyFunc)purple_plugin_action_copy,
-				(GBoxedFreeFunc)purple_plugin_action_free);
-	}
-
-	return type;
-}
+G_DEFINE_BOXED_TYPE(PurplePluginAction, purple_plugin_action,
+                    purple_plugin_action_copy, purple_plugin_action_free)
 
 /**************************************************************************
  * Plugins API
--- a/libpurple/plugins.h	Sun Sep 15 03:54:08 2019 -0400
+++ b/libpurple/plugins.h	Thu Sep 12 20:51:15 2019 -0400
@@ -54,17 +54,9 @@
 typedef GPluginPluginInterface PurplePluginInterface;
 
 #define PURPLE_TYPE_PLUGIN_INFO             (purple_plugin_info_get_type())
-#define PURPLE_PLUGIN_INFO(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_PLUGIN_INFO, PurplePluginInfo))
-#define PURPLE_PLUGIN_INFO_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_PLUGIN_INFO, PurplePluginInfoClass))
-#define PURPLE_IS_PLUGIN_INFO(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PLUGIN_INFO))
-#define PURPLE_IS_PLUGIN_INFO_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_PLUGIN_INFO))
-#define PURPLE_PLUGIN_INFO_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_PLUGIN_INFO, PurplePluginInfoClass))
-
 typedef struct _PurplePluginInfo PurplePluginInfo;
-typedef struct _PurplePluginInfoClass PurplePluginInfoClass;
 
 #define PURPLE_TYPE_PLUGIN_ACTION  (purple_plugin_action_get_type())
-
 typedef struct _PurplePluginAction PurplePluginAction;
 
 #include "pluginpref.h"
@@ -145,16 +137,6 @@
 	gpointer ui_data;
 };
 
-struct _PurplePluginInfoClass {
-	GPluginPluginInfoClass parent_class;
-
-	/*< private >*/
-	void (*_purple_reserved1)(void);
-	void (*_purple_reserved2)(void);
-	void (*_purple_reserved3)(void);
-	void (*_purple_reserved4)(void);
-};
-
 /**
  * PurplePluginAction:
  *
@@ -463,7 +445,8 @@
  *
  * Returns: The #GType for the #PurplePluginInfo object.
  */
-GType purple_plugin_info_get_type(void);
+G_DECLARE_FINAL_TYPE(PurplePluginInfo, purple_plugin_info, PURPLE, PLUGIN_INFO,
+                     GPluginPluginInfo)
 
 /**
  * purple_plugin_info_new:

mercurial