aboutsummaryrefslogtreecommitdiff
path: root/libindicate/indicator.c
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-08-03 18:50:57 +0100
committerTed Gould <ted@canonical.com>2009-08-03 18:50:57 +0100
commitb3d3f3de3bb73ac8cc77ed5c8bde5aeb76073af2 (patch)
tree34ef8db1cf698114b04b736ef432c6bdc39c208c /libindicate/indicator.c
parent573c458ef73f399868624e0446f69dc03ced69cb (diff)
downloadlibayatana-indicator-b3d3f3de3bb73ac8cc77ed5c8bde5aeb76073af2.tar.gz
libayatana-indicator-b3d3f3de3bb73ac8cc77ed5c8bde5aeb76073af2.tar.bz2
libayatana-indicator-b3d3f3de3bb73ac8cc77ed5c8bde5aeb76073af2.zip
Adding a function to set the server of the indicator upon creation. indicate_indicator_new_with_server()
Diffstat (limited to 'libindicate/indicator.c')
-rw-r--r--libindicate/indicator.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/libindicate/indicator.c b/libindicate/indicator.c
index 76eb616..92712bd 100644
--- a/libindicate/indicator.c
+++ b/libindicate/indicator.c
@@ -204,6 +204,36 @@ indicate_indicator_new (void)
}
/**
+ indicate_indicator_new_with_server:
+ @server: The server that should be associated with this indicator.
+
+ Builds a new indicator object using g_object_new() and sets
+ the server to the specified server. Also, adds a reference
+ to the server.
+
+ Return value: A pointer to a new #IndicateIndicator object.
+*/
+IndicateIndicator *
+indicate_indicator_new_with_server (IndicateServer * server)
+{
+ g_return_val_if_fail(server != NULL, NULL);
+
+ IndicateIndicator * indicator = g_object_new(INDICATE_TYPE_INDICATOR, NULL);
+
+ IndicateIndicatorPrivate * priv = INDICATE_INDICATOR_GET_PRIVATE(indicator);
+ if (priv->server != NULL) {
+ g_object_unref(priv->server);
+ priv->server = NULL;
+ }
+
+ priv->server = server;
+ g_object_ref(priv->server);
+
+ return indicator;
+}
+
+
+/**
indicate_indicator_show:
@indicator: a #IndicateIndicator to act on