From 791b5f802bf0d0ffb72d39c85da512332c889453 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 9 Jan 2009 16:32:09 -0600 Subject: Connecting indicators and servers. They create themselves easily. --- libindicate/indicator.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'libindicate/indicator.c') diff --git a/libindicate/indicator.c b/libindicate/indicator.c index 74eefbf..2db8468 100644 --- a/libindicate/indicator.c +++ b/libindicate/indicator.c @@ -40,7 +40,8 @@ indicate_indicator_init (IndicateIndicator * indicator) { indicator->id = 0; - /* TODO: Need to connect to a server here */ + indicator->server = indicate_server_ref_default(); + indicate_server_add_indicator(indicator->server, indicator); return; } @@ -48,8 +49,19 @@ indicate_indicator_init (IndicateIndicator * indicator) static void indicate_indicator_finalize (GObject * obj) { - /* TODO: Need to disconnect from server here */ + IndicateIndicator * indicator = INDICATE_INDICATOR(obj); + + indicate_server_remove_indicator(indicator->server, indicator); + g_object_unref(indicator->server); + indicator->server = NULL; return; } +IndicateIndicator * +indicate_indicator_new (void) +{ + IndicateIndicator * indicator = g_object_new(INDICATE_TYPE_INDICATOR, NULL); + return indicator; +} + -- cgit v1.2.3