pidgin/pidgin

a80230105e43
Parents a528d27e81e2
Children 138d55c90767
Make PurpleWhiteboardManager a final type

Testing Done:
ran the unit tests.

Reviewed at https://reviews.imfreedom.org/r/1085/
--- a/libpurple/purplewhiteboardmanager.c Wed Oct 20 02:55:04 2021 -0500
+++ b/libpurple/purplewhiteboardmanager.c Wed Oct 20 02:55:43 2021 -0500
@@ -28,12 +28,14 @@
};
static guint signals[N_SIGNALS] = {0, };
-typedef struct {
+struct _PurpleWhiteboardManager {
+ GObject parent;
+
GListStore *store;
-} PurpleWhiteboardManagerPrivate;
+};
-G_DEFINE_TYPE_WITH_PRIVATE(PurpleWhiteboardManager, purple_whiteboard_manager,
- G_TYPE_OBJECT);
+G_DEFINE_TYPE(PurpleWhiteboardManager, purple_whiteboard_manager,
+ G_TYPE_OBJECT);
static PurpleWhiteboardManager *default_manager = NULL;
@@ -43,23 +45,17 @@
static void
purple_whiteboard_manager_finalize(GObject *obj) {
PurpleWhiteboardManager *manager = NULL;
- PurpleWhiteboardManagerPrivate *priv = NULL;
manager = PURPLE_WHITEBOARD_MANAGER(obj);
- priv = purple_whiteboard_manager_get_instance_private(manager);
- g_clear_object(&priv->store);
+ g_clear_object(&manager->store);
G_OBJECT_CLASS(purple_whiteboard_manager_parent_class)->finalize(obj);
}
static void
purple_whiteboard_manager_init(PurpleWhiteboardManager *manager) {
- PurpleWhiteboardManagerPrivate *priv = NULL;
-
- priv = purple_whiteboard_manager_get_instance_private(manager);
-
- priv->store = g_list_store_new(PURPLE_TYPE_WHITEBOARD);
+ manager->store = g_list_store_new(PURPLE_TYPE_WHITEBOARD);
}
static void
@@ -77,11 +73,11 @@
*
* Since: 3.0.0
*/
- signals[SIG_REGISTERED] = g_signal_new(
+ signals[SIG_REGISTERED] = g_signal_new_class_handler(
"registered",
G_OBJECT_CLASS_TYPE(klass),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(PurpleWhiteboardManagerClass, registered),
+ NULL,
NULL,
NULL,
NULL,
@@ -98,11 +94,11 @@
*
* Since: 3.0.0
*/
- signals[SIG_UNREGISTERED] = g_signal_new(
+ signals[SIG_UNREGISTERED] = g_signal_new_class_handler(
"unregistered",
G_OBJECT_CLASS_TYPE(klass),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(PurpleWhiteboardManagerClass, unregistered),
+ NULL,
NULL,
NULL,
NULL,
@@ -139,15 +135,12 @@
PurpleWhiteboard *whiteboard,
GError **error)
{
- PurpleWhiteboardManagerPrivate *priv = NULL;
gboolean found = FALSE;
g_return_val_if_fail(PURPLE_IS_WHITEBOARD_MANAGER(manager), FALSE);
g_return_val_if_fail(PURPLE_IS_WHITEBOARD(whiteboard), FALSE);
- priv = purple_whiteboard_manager_get_instance_private(manager);
-
- found = g_list_store_find_with_equal_func(priv->store, whiteboard,
+ found = g_list_store_find_with_equal_func(manager->store, whiteboard,
(GEqualFunc)purple_whiteboard_equal,
NULL);
@@ -159,7 +152,7 @@
return FALSE;
}
- g_list_store_insert(priv->store, 0, whiteboard);
+ g_list_store_insert(manager->store, 0, whiteboard);
g_signal_emit(G_OBJECT(manager), signals[SIG_REGISTERED], 0, whiteboard);
@@ -171,16 +164,13 @@
PurpleWhiteboard *whiteboard,
GError **error)
{
- PurpleWhiteboardManagerPrivate *priv = NULL;
guint position = 0;
gboolean found = FALSE;
g_return_val_if_fail(PURPLE_IS_WHITEBOARD_MANAGER(manager), FALSE);
g_return_val_if_fail(PURPLE_IS_WHITEBOARD(whiteboard), FALSE);
- priv = purple_whiteboard_manager_get_instance_private(manager);
-
- found = g_list_store_find_with_equal_func(priv->store, whiteboard,
+ found = g_list_store_find_with_equal_func(manager->store, whiteboard,
(GEqualFunc)purple_whiteboard_equal,
&position);
@@ -197,7 +187,7 @@
*/
g_object_ref(G_OBJECT(whiteboard));
- g_list_store_remove(priv->store, position);
+ g_list_store_remove(manager->store, position);
g_signal_emit(G_OBJECT(manager), signals[SIG_UNREGISTERED], 0, whiteboard);
@@ -210,19 +200,16 @@
purple_whiteboard_manager_find(PurpleWhiteboardManager *manager,
const gchar *id)
{
- PurpleWhiteboardManagerPrivate *priv = NULL;
guint idx, n;
g_return_val_if_fail(PURPLE_IS_WHITEBOARD_MANAGER(manager), NULL);
g_return_val_if_fail(id != NULL, NULL);
- priv = purple_whiteboard_manager_get_instance_private(manager);
-
- n = g_list_model_get_n_items(G_LIST_MODEL(priv->store));
+ n = g_list_model_get_n_items(G_LIST_MODEL(manager->store));
for(idx = 0; idx < n; idx++) {
GObject *obj = NULL;
- obj = g_list_model_get_object(G_LIST_MODEL(priv->store), idx);
+ obj = g_list_model_get_object(G_LIST_MODEL(manager->store), idx);
if(PURPLE_IS_WHITEBOARD(obj)) {
PurpleWhiteboard *whiteboard = PURPLE_WHITEBOARD(obj);
@@ -241,17 +228,14 @@
PurpleWhiteboardManagerForeachFunc func,
gpointer data)
{
- PurpleWhiteboardManagerPrivate *priv = NULL;
guint idx, n;
g_return_if_fail(PURPLE_IS_WHITEBOARD_MANAGER(manager));
g_return_if_fail(func != NULL);
- priv = purple_whiteboard_manager_get_instance_private(manager);
-
- n = g_list_model_get_n_items(G_LIST_MODEL(priv->store));
+ n = g_list_model_get_n_items(G_LIST_MODEL(manager->store));
for(idx = 0; idx < n; idx++) {
- gpointer item = g_list_model_get_item(G_LIST_MODEL(priv->store), idx);
+ gpointer item = g_list_model_get_item(G_LIST_MODEL(manager->store), idx);
func(item, data);
g_object_unref(item);
}
@@ -259,11 +243,7 @@
GListModel *
purple_whiteboard_manager_get_model(PurpleWhiteboardManager *manager) {
- PurpleWhiteboardManagerPrivate *priv = NULL;
-
g_return_val_if_fail(PURPLE_IS_WHITEBOARD_MANAGER(manager), NULL);
- priv = purple_whiteboard_manager_get_instance_private(manager);
-
- return G_LIST_MODEL(priv->store);
+ return G_LIST_MODEL(manager->store);
}
--- a/libpurple/purplewhiteboardmanager.h Wed Oct 20 02:55:04 2021 -0500
+++ b/libpurple/purplewhiteboardmanager.h Wed Oct 20 02:55:43 2021 -0500
@@ -73,30 +73,8 @@
*
* Since: 3.0.0
*/
-G_DECLARE_DERIVABLE_TYPE(PurpleWhiteboardManager, purple_whiteboard_manager,
- PURPLE, WHITEBOARD_MANAGER, GObject)
-
-/**
- * PurpleWhiteboardManagerClass:
- * @registered: The default signal handler for when a whiteboard is registered.
- * @unregistered: The default signal handler for when a whiteboard is
- * unregistered.
- *
- * The class structure for #PurpleWhiteboardManager.
- *
- * Since: 3.0.0
- */
-struct _PurpleWhiteboardManagerClass {
- /*< private >*/
- GObjectClass parent;
-
- /*< public >*/
- void (*registered)(PurpleWhiteboardManager *manager, PurpleWhiteboard *whiteboard);
- void (*unregistered)(PurpleWhiteboardManager *manager, PurpleWhiteboard *whiteboard);
-
- /*< private >*/
- gpointer reserved[4];
-};
+G_DECLARE_FINAL_TYPE(PurpleWhiteboardManager, purple_whiteboard_manager,
+ PURPLE, WHITEBOARD_MANAGER, GObject)
/**
* PurpleWhiteboardManagerForeachFunc: