--- a/libpurple/purplehistorymanager.c Wed Oct 20 02:41:29 2021 -0500
+++ b/libpurple/purplehistorymanager.c Wed Oct 20 02:43:32 2021 -0500
@@ -34,13 +34,14 @@
static guint signals[N_SIGNALS] = {0, };
+struct _PurpleHistoryManager { PurpleHistoryAdapter *active_adapter;
-} PurpleHistoryManagerPrivate;
-G_DEFINE_TYPE_WITH_PRIVATE(PurpleHistoryManager, purple_history_manager,
+G_DEFINE_TYPE(PurpleHistoryManager, purple_history_manager, G_TYPE_OBJECT); static PurpleHistoryManager *default_manager = NULL;
@@ -50,24 +51,18 @@
purple_history_manager_finalize(GObject *obj) {
PurpleHistoryManager *manager = NULL;
- PurpleHistoryManagerPrivate *priv = NULL;
manager = PURPLE_HISTORY_MANAGER(obj);
- priv = purple_history_manager_get_instance_private(manager);
- g_clear_pointer(&priv->adapters, g_hash_table_destroy);
+ g_clear_pointer(&manager->adapters, g_hash_table_destroy); G_OBJECT_CLASS(purple_history_manager_parent_class)->finalize(obj);
purple_history_manager_init(PurpleHistoryManager *manager) {
- PurpleHistoryManagerPrivate *priv = NULL;
- priv = purple_history_manager_get_instance_private(manager);
- priv->adapters = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+ manager->adapters = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, @@ -86,11 +81,11 @@
- signals[SIG_ACTIVE_CHANGED] = g_signal_new(
+ signals[SIG_ACTIVE_CHANGED] = g_signal_new_class_handler( G_OBJECT_CLASS_TYPE(klass),
- G_STRUCT_OFFSET(PurpleHistoryManagerClass, active_changed),
@@ -108,11 +103,11 @@
- signals[SIG_REGISTERED] = g_signal_new(
+ signals[SIG_REGISTERED] = g_signal_new_class_handler( G_OBJECT_CLASS_TYPE(klass),
- G_STRUCT_OFFSET(PurpleHistoryManagerClass, registered),
@@ -129,11 +124,11 @@
- signals[SIG_UNREGISTERED] = g_signal_new(
+ signals[SIG_UNREGISTERED] = g_signal_new_class_handler( G_OBJECT_CLASS_TYPE(klass),
- G_STRUCT_OFFSET(PurpleHistoryManagerClass, unregistered),
@@ -154,18 +149,16 @@
purple_history_manager_shutdown(void) {
- PurpleHistoryManagerPrivate *priv = NULL;
if(default_manager == NULL) {
- priv = purple_history_manager_get_instance_private(default_manager);
- if(PURPLE_IS_HISTORY_ADAPTER(priv->active_adapter)) {
+ if(PURPLE_IS_HISTORY_ADAPTER(default_manager->active_adapter)) { PurpleHistoryAdapter *adapter = NULL;
- adapter = g_object_ref(priv->active_adapter);
+ adapter = g_object_ref(default_manager->active_adapter); purple_history_manager_set_active(default_manager, NULL, NULL);
purple_history_manager_unregister(default_manager,
@@ -189,23 +182,21 @@
PurpleHistoryAdapter *adapter,
- PurpleHistoryManagerPrivate *priv = NULL;
g_return_val_if_fail(PURPLE_IS_HISTORY_MANAGER(manager), FALSE);
g_return_val_if_fail(PURPLE_IS_HISTORY_ADAPTER(adapter), FALSE);
- priv = purple_history_manager_get_instance_private(manager);
id = purple_history_adapter_get_id(adapter);
- if(g_hash_table_lookup(priv->adapters, id) != NULL) {
+ if(g_hash_table_lookup(manager->adapters, id) != NULL) { g_set_error(error, PURPLE_HISTORY_MANAGER_DOMAIN, 0,
_("adapter %s is already registered"), id);
- g_hash_table_insert(priv->adapters, g_strdup(id), g_object_ref(adapter));
+ g_hash_table_insert(manager->adapters, g_strdup(id), + g_object_ref(adapter)); g_signal_emit(G_OBJECT(manager), signals[SIG_REGISTERED], 0, adapter);
@@ -217,16 +208,13 @@
PurpleHistoryAdapter *adapter,
- PurpleHistoryManagerPrivate *priv = NULL;
g_return_val_if_fail(PURPLE_IS_HISTORY_MANAGER(manager), FALSE);
g_return_val_if_fail(PURPLE_IS_HISTORY_ADAPTER(adapter), FALSE);
- priv = purple_history_manager_get_instance_private(manager);
- if(adapter == priv->active_adapter) {
+ if(adapter == manager->active_adapter) { g_set_error(error, PURPLE_HISTORY_MANAGER_DOMAIN, 0,
_("adapter %s is currently in use"), id);
@@ -237,7 +225,7 @@
id = purple_history_adapter_get_id(adapter);
- if(g_hash_table_remove(priv->adapters, id)) {
+ if(g_hash_table_remove(manager->adapters, id)) { g_signal_emit(G_OBJECT(manager), signals[SIG_UNREGISTERED], 0,
@@ -256,15 +244,12 @@
purple_history_manager_find(PurpleHistoryManager *manager, const gchar *id) {
- PurpleHistoryManagerPrivate *priv = NULL;
g_return_val_if_fail(PURPLE_IS_HISTORY_MANAGER(manager), NULL);
g_return_val_if_fail(id != NULL, NULL);
- priv = purple_history_manager_get_instance_private(manager);
- value = g_hash_table_lookup(priv->adapters, id);
+ value = g_hash_table_lookup(manager->adapters, id); @@ -274,24 +259,16 @@
purple_history_manager_get_all(PurpleHistoryManager *manager) {
- PurpleHistoryManagerPrivate *priv = NULL;
g_return_val_if_fail(PURPLE_IS_HISTORY_MANAGER(manager), NULL);
- priv = purple_history_manager_get_instance_private(manager);
- return g_hash_table_get_values(priv->adapters);
+ return g_hash_table_get_values(manager->adapters); purple_history_manager_get_active(PurpleHistoryManager *manager) {
- PurpleHistoryManagerPrivate *priv = NULL;
g_return_val_if_fail(PURPLE_IS_HISTORY_MANAGER(manager), NULL);
- priv = purple_history_manager_get_instance_private(manager);
- return priv->active_adapter;
+ return manager->active_adapter; @@ -299,16 +276,13 @@
- PurpleHistoryManagerPrivate *priv = NULL;
PurpleHistoryAdapter *old = NULL, *adapter = NULL;
g_return_val_if_fail(PURPLE_IS_HISTORY_MANAGER(manager), FALSE);
- priv = purple_history_manager_get_instance_private(manager);
/* First look up the new adapter if we're given one. */
- adapter = g_hash_table_lookup(priv->adapters, id);
+ adapter = g_hash_table_lookup(manager->adapters, id); if(!PURPLE_IS_HISTORY_ADAPTER(adapter)) {
g_set_error(error, PURPLE_HISTORY_MANAGER_DOMAIN, 0,
"no history adapter found with id %s", id);
@@ -317,14 +291,14 @@
- if(PURPLE_IS_HISTORY_ADAPTER(priv->active_adapter)) {
- old = g_object_ref(priv->active_adapter);
+ if(PURPLE_IS_HISTORY_ADAPTER(manager->active_adapter)) { + old = g_object_ref(manager->active_adapter); - if(g_set_object(&priv->active_adapter, adapter)) {
+ if(g_set_object(&manager->active_adapter, adapter)) { if(PURPLE_IS_HISTORY_ADAPTER(old)) {
if(!purple_history_adapter_deactivate(old, error)) {
- g_set_object(&priv->active_adapter, old);
+ g_set_object(&manager->active_adapter, old); @@ -336,7 +310,7 @@
purple_history_adapter_activate(old, error);
- g_set_object(&priv->active_adapter, old);
+ g_set_object(&manager->active_adapter, old); @@ -344,7 +318,7 @@
g_signal_emit(G_OBJECT(manager), signals[SIG_ACTIVE_CHANGED], 0, old,
+ manager->active_adapter); @@ -359,19 +333,15 @@
- PurpleHistoryManagerPrivate *priv = NULL;
g_return_val_if_fail(PURPLE_IS_HISTORY_MANAGER(manager), FALSE);
- priv = purple_history_manager_get_instance_private(manager);
- if(priv->active_adapter == NULL) {
+ if(manager->active_adapter == NULL) { g_set_error_literal(error, PURPLE_HISTORY_MANAGER_DOMAIN, 0,
_("no active history adapter"));
- return purple_history_adapter_query(priv->active_adapter, query, error);
+ return purple_history_adapter_query(manager->active_adapter, query, error); @@ -379,19 +349,16 @@
- PurpleHistoryManagerPrivate *priv = NULL;
g_return_val_if_fail(PURPLE_IS_HISTORY_MANAGER(manager), FALSE);
- priv = purple_history_manager_get_instance_private(manager);
- if(priv->active_adapter == NULL) {
+ if(manager->active_adapter == NULL) { g_set_error_literal(error, PURPLE_HISTORY_MANAGER_DOMAIN, 0,
_("no active history adapter"));
- return purple_history_adapter_remove(priv->active_adapter, query, error);
+ return purple_history_adapter_remove(manager->active_adapter, query, @@ -400,21 +367,17 @@
- PurpleHistoryManagerPrivate *priv = NULL;
g_return_val_if_fail(PURPLE_IS_CONVERSATION(conversation), FALSE);
g_return_val_if_fail(PURPLE_IS_MESSAGE(message), FALSE);
g_return_val_if_fail(PURPLE_IS_HISTORY_MANAGER(manager), FALSE);
- priv = purple_history_manager_get_instance_private(manager);
- if(priv->active_adapter == NULL) {
+ if(manager->active_adapter == NULL) { g_set_error_literal(error, PURPLE_HISTORY_MANAGER_DOMAIN, 0,
_("no active history adapter"));
- return purple_history_adapter_write(priv->active_adapter, conversation,
+ return purple_history_adapter_write(manager->active_adapter, conversation, @@ -424,15 +387,12 @@
- PurpleHistoryManagerPrivate *priv = NULL;
g_return_if_fail(PURPLE_IS_HISTORY_MANAGER(manager));
g_return_if_fail(func != NULL);
- priv = purple_history_manager_get_instance_private(manager);
- g_hash_table_iter_init(&iter, priv->adapters);
+ g_hash_table_iter_init(&iter, manager->adapters); while (g_hash_table_iter_next(&iter, NULL, &value)) {
func(PURPLE_HISTORY_ADAPTER(value), data);