--- a/stress/stress.c Sun Aug 30 20:10:24 2009 -0400
+++ b/stress/stress.c Sun Aug 30 20:10:58 2009 -0400
@@ -109,8 +109,10 @@
stress_event_cb(gpointer data) {
StressBuddy *sb = (StressBuddy *)data;
PurpleAccount *account = purple_buddy_get_account(sb->buddy);
+ PurpleStatus *status = NULL; gint event = rand() % nevents;
const gchar *name = purple_buddy_get_name(sb->buddy);
/* increment our event counter */
@@ -119,7 +121,7 @@
purple_debug_info("stress", "firing event %d of %d for %s\n",
sb->nevents, sb->maxevents, name);
stress_close_convs(account, name);
@@ -144,6 +146,11 @@
+ msg = g_strdup_printf("event %d of %d", sb->nevents, sb->maxevents); + status = purple_presence_get_active_status(sb->buddy->presence); + purple_status_set_attr_string(status, "message", msg); if(sb->maxevents > 0 && sb->nevents >= sb->maxevents) {
@@ -159,6 +166,18 @@
+stress_status_text(PurpleBuddy *buddy) { + StressBuddy *sb = STRESS_BUDDY(buddy); + PurplePresence *presence = purple_buddy_get_presence(buddy); + PurpleStatus *status = purple_presence_get_active_status(presence); + const gchar *msg = NULL; + msg = purple_status_get_attr_string(status, "message"); + return (msg) ? g_strdup(msg) : NULL; #define add_event(setting, e1, e2) G_STMT_START { \
if(purple_account_get_bool(account, (setting), TRUE)) { \
events = g_list_prepend(events, GINT_TO_POINTER((e1))); \
@@ -258,16 +277,28 @@
g_return_val_if_fail(account != NULL, NULL);
- type = purple_status_type_new_full(PURPLE_STATUS_AVAILABLE,
- NULL, NULL, TRUE, TRUE, FALSE);
+ purple_status_type_new_with_attrs(PURPLE_STATUS_AVAILABLE, NULL, + NULL, TRUE, TRUE, FALSE, + "message", _("Message"), + purple_value_new(PURPLE_TYPE_STRING), types = g_list_prepend(types, type);
- type = purple_status_type_new_full(PURPLE_STATUS_OFFLINE,
- NULL, NULL, TRUE, TRUE, FALSE);
+ purple_status_type_new_with_attrs(PURPLE_STATUS_OFFLINE, NULL, + NULL, TRUE, TRUE, FALSE, + "message", _("Message"), + purple_value_new(PURPLE_TYPE_STRING), types = g_list_prepend(types, type);
- type = purple_status_type_new_full(PURPLE_STATUS_AWAY,
- NULL, NULL, TRUE, TRUE, FALSE);
+ purple_status_type_new_with_attrs(PURPLE_STATUS_AWAY, NULL, + NULL, TRUE, TRUE, FALSE, + "message", _("Message"), + purple_value_new(PURPLE_TYPE_STRING), types = g_list_prepend(types, type);
@@ -280,7 +311,7 @@