--- a/libpurple/debug.h Mon Jul 10 07:01:04 2017 +0000 +++ b/libpurple/debug.h Wed Jul 12 05:49:25 2017 -0400 @@ -33,9 +33,10 @@ #include <stdarg.h> -#define PURPLE_TYPE_DEBUG_UI_OPS (purple_debug_ui_ops_get_type()) +G_BEGIN_DECLS -typedef struct _PurpleDebugUiOps PurpleDebugUiOps; +#define PURPLE_TYPE_DEBUG_UI (purple_debug_ui_get_type()) +G_DECLARE_INTERFACE(PurpleDebugUi, purple_debug_ui, PURPLE, DEBUG_UI, GObject) /** * PurpleDebugLevel: @@ -60,26 +61,28 @@ } PurpleDebugLevel; /** - * PurpleDebugUiOps: + * PurpleDebugUiInterface: * * Debug UI operations. */ -struct _PurpleDebugUiOps +struct _PurpleDebugUiInterface { - void (*print)(PurpleDebugLevel level, const char *category, - const char *arg_s); - gboolean (*is_enabled)(PurpleDebugLevel level, - const char *category); + GTypeInterface parent_iface; + + void (*print)(PurpleDebugUi *self, + PurpleDebugLevel level, const char *category, + const char *arg_s); + gboolean (*is_enabled)(PurpleDebugUi *self, + PurpleDebugLevel level, + const char *category); /*< private >*/ - void (*_purple_reserved1)(void); - void (*_purple_reserved2)(void); - void (*_purple_reserved3)(void); - void (*_purple_reserved4)(void); + void (*_purple_reserved1)(PurpleDebugUi *self); + void (*_purple_reserved2)(PurpleDebugUi *self); + void (*_purple_reserved3)(PurpleDebugUi *self); + void (*_purple_reserved4)(PurpleDebugUi *self); }; -G_BEGIN_DECLS - /**************************************************************************/ /* Debug API */ /**************************************************************************/ @@ -242,30 +245,23 @@ /**************************************************************************/ /** - * purple_debug_ui_ops_get_type: - * - * Returns: The #GType for the #PurpleDebugUiOps boxed structure. - */ -GType purple_debug_ui_ops_get_type(void); - -/** - * purple_debug_set_ui_ops: + * purple_debug_set_ui: * @ops: The UI operations structure. * * Sets the UI operations structure to be used when outputting debug * information. */ -void purple_debug_set_ui_ops(PurpleDebugUiOps *ops); +void purple_debug_set_ui(PurpleDebugUi *ops); /** - * purple_debug_get_ui_ops: + * purple_debug_get_ui: * * Returns the UI operations structure used when outputting debug * information. * * Returns: The UI operations structure in use. */ -PurpleDebugUiOps *purple_debug_get_ui_ops(void); +PurpleDebugUi *purple_debug_get_ui(void); /**************************************************************************/ /* Debug Subsystem */