diff src/status.c @ 11187:744c0708d11f

[gaim-migrate @ 13303] gaim-remote.py implements the functionality of standard gaim-remote, but using DBus. It can also call all gaim functions exported via DBus. dbus-analize-function.py can now produce dbus bindings for GHashTable arguments. committer: Tailor Script <tailor@pidgin.im>
author Piotr Zielinski <zielaj>
date Wed, 03 Aug 2005 23:54:37 +0000
parents 50224ac8184d
children b4b1be482b4e
line wrap: on
line diff
--- a/src/status.c	Wed Aug 03 22:58:06 2005 +0000
+++ b/src/status.c	Wed Aug 03 23:54:37 2005 +0000
@@ -26,6 +26,7 @@
 
 #include "blist.h"
 #include "core.h"
+#include "dbus-maybe.h"
 #include "debug.h"
 #include "notify.h"
 #include "prefs.h"
@@ -221,6 +222,7 @@
 	g_return_val_if_fail(name      != NULL,              NULL);
 
 	status_type = g_new0(GaimStatusType, 1);
+	GAIM_DBUS_REGISTER_POINTER(status_type, GaimStatusType);
 
 	status_type->primitive     = primitive;
 	status_type->id            = g_strdup(id);
@@ -296,6 +298,7 @@
 		g_list_free(status_type->attrs);
 	}
 
+	GAIM_DBUS_UNREGISTER_POINTER(status_type);
 	g_free(status_type);
 }
 
@@ -504,6 +507,7 @@
 	g_return_val_if_fail(value_type != NULL, NULL);
 
 	attr = g_new0(GaimStatusAttr, 1);
+	GAIM_DBUS_REGISTER_POINTER(attr, GaimStatusAttr);
 
 	attr->id         = g_strdup(id);
 	attr->name       = g_strdup(name);
@@ -522,6 +526,7 @@
 
 	gaim_value_destroy(attr->value_type);
 
+	GAIM_DBUS_UNREGISTER_POINTER(attr);
 	g_free(attr);
 }
 
@@ -563,6 +568,7 @@
 	g_return_val_if_fail(presence    != NULL, NULL);
 
 	status = g_new0(GaimStatus, 1);
+	GAIM_DBUS_REGISTER_POINTER(status, GaimStatus);
 
 	status->type     = status_type;
 	status->presence = presence;
@@ -599,6 +605,7 @@
 
 	g_hash_table_destroy(status->attr_values);
 
+	GAIM_DBUS_UNREGISTER_POINTER(status);
 	g_free(status);
 }
 
@@ -1066,6 +1073,7 @@
 	g_return_val_if_fail(context != GAIM_PRESENCE_CONTEXT_UNSET, NULL);
 
 	presence = g_new0(GaimPresence, 1);
+	GAIM_DBUS_REGISTER_POINTER(presence, GaimPresence);
 
 	presence->context = context;
 
@@ -1174,6 +1182,7 @@
 
 	g_hash_table_destroy(presence->status_table);
 
+	GAIM_DBUS_UNREGISTER_POINTER(presence);
 	g_free(presence);
 }