annotate xwrited-unique.c @ 18:4a5330979433

Modernize and improve build system Do not clobber CPPFLAGS, use XCPPFLAGS instead. Request POSIX:2004 headers and libraries. Remove support for FreeBSD < 9. Add support for DragonFly BSD.
author Guido Berhoerster <guido+xwrited@berhoerster.name>
date Wed, 14 Sep 2016 09:46:59 +0200
parents c53bcdabbba7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
1 /*
2
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
2 * Copyright (C) 2014 Guido Berhoerster <guido+xwrited@berhoerster.name>
0
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
3 *
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
4 * Permission is hereby granted, free of charge, to any person obtaining
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
5 * a copy of this software and associated documentation files (the
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
6 * "Software"), to deal in the Software without restriction, including
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
7 * without limitation the rights to use, copy, modify, merge, publish,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
8 * distribute, sublicense, and/or sell copies of the Software, and to
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
9 * permit persons to whom the Software is furnished to do so, subject to
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
10 * the following conditions:
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
11 *
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
12 * The above copyright notice and this permission notice shall be included
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
13 * in all copies or substantial portions of the Software.
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
14 *
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
19 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
20 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
21 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
22 */
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
23
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
24 #include <glib.h>
2
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
25 #ifdef HAVE_GLIB_GDBUS
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
26 #include <gio/gio.h>
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
27 #else
0
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
28 #include <dbus/dbus-glib.h>
2
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
29 #endif /* HAVE_GLIB_GDBUS */
0
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
30 #include <dbus/dbus.h>
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
31
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
32 #include "xwrited-unique.h"
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
33
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
34 G_DEFINE_TYPE(XWritedUnique, xwrited_unique, G_TYPE_OBJECT)
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
35
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
36 #define XWRITED_UNIQUE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), \
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
37 XWRITED_TYPE_UNIQUE, XWritedUniquePrivate))
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
38
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
39 struct _XWritedUniquePrivate {
2
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
40 #ifdef HAVE_GLIB_GDBUS
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
41 GDBusProxy *session_bus_proxy;
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
42 #else
0
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
43 DBusGConnection *session_bus;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
44 DBusGProxy *session_bus_proxy;
2
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
45 #endif /* HAVE_GLIB_GDBUS */
0
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
46 gchar *name;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
47 gboolean is_unique;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
48 };
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
49
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
50 enum {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
51 PROP_0,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
52 PROP_NAME,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
53 PROP_IS_XWRITED_UNIQUE
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
54 };
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
55
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
56 static gboolean
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
57 request_name(XWritedUnique *self)
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
58 {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
59 guint32 request_name_response;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
60 GError *error = NULL;
2
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
61 #ifdef HAVE_GLIB_GDBUS
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
62 GVariant *result;
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
63
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
64 g_return_val_if_fail(self->priv->session_bus_proxy != NULL, FALSE);
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
65
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
66 result = g_dbus_proxy_call_sync(self->priv->session_bus_proxy,
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
67 "RequestName", g_variant_new("(su)", self->priv->name,
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
68 DBUS_NAME_FLAG_DO_NOT_QUEUE), G_DBUS_CALL_FLAGS_NONE, -1, NULL,
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
69 &error);
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
70 if (result == NULL) {
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
71 g_warning("failed to acquire service name \"%s\": %s",
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
72 self->priv->name, error->message);
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
73 g_error_free(error);
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
74 return (FALSE);
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
75 }
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
76
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
77 g_variant_get(result, "(u)", &request_name_response);
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
78 g_variant_unref(result);
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
79 #else
0
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
80
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
81 g_return_val_if_fail(self->priv->session_bus != NULL, FALSE);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
82 g_return_val_if_fail(self->priv->session_bus_proxy != NULL, FALSE);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
83 if (dbus_g_proxy_call(self->priv->session_bus_proxy, "RequestName",
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
84 &error, G_TYPE_STRING, self->priv->name, G_TYPE_UINT,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
85 DBUS_NAME_FLAG_DO_NOT_QUEUE, G_TYPE_INVALID, G_TYPE_UINT,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
86 &request_name_response, G_TYPE_INVALID) == 0) {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
87 g_warning("failed to acquire service name \"%s\": %s",
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
88 self->priv->name, error->message);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
89 g_error_free(error);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
90 return (FALSE);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
91 }
2
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
92 #endif /* HAVE_GLIB_GDBUS */
0
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
93
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
94 switch (request_name_response) {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
95 case DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER:
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
96 return (TRUE);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
97 case DBUS_REQUEST_NAME_REPLY_EXISTS:
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
98 break;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
99 default:
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
100 g_warning("failed to acquire service name \"%s\"",
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
101 self->priv->name);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
102 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
103
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
104 return (FALSE);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
105 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
106
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
107 static void
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
108 xwrited_unique_get_property(GObject *gobject, guint property_id, GValue *value,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
109 GParamSpec *pspec)
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
110 {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
111 XWritedUnique *app = XWRITED_UNIQUE(gobject);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
112
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
113 switch (property_id) {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
114 case PROP_NAME:
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
115 g_value_set_string(value, app->priv->name);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
116 break;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
117 case PROP_IS_XWRITED_UNIQUE:
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
118 g_value_set_boolean(value, app->priv->is_unique);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
119 break;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
120 default:
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
121 G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, property_id,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
122 pspec);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
123 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
124 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
125
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
126 static void
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
127 xwrited_unique_set_property(GObject *gobject, guint property_id,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
128 const GValue *value, GParamSpec *pspec)
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
129 {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
130 XWritedUnique *app = XWRITED_UNIQUE(gobject);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
131
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
132 switch (property_id) {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
133 case PROP_NAME:
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
134 app->priv->name = g_strdup(g_value_get_string(value));
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
135 break;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
136 default:
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
137 G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, property_id,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
138 pspec);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
139 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
140 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
141
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
142 static GObject *
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
143 xwrited_unique_constructor(GType gtype, guint n_params,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
144 GObjectConstructParam *params)
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
145 {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
146 GObjectClass *parent_class;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
147 GObject *gobject;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
148 XWritedUnique *app;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
149 GError *error = NULL;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
150
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
151 parent_class = G_OBJECT_CLASS(xwrited_unique_parent_class);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
152 gobject = parent_class->constructor(gtype, n_params, params);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
153 app = XWRITED_UNIQUE(gobject);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
154
2
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
155 #ifdef HAVE_GLIB_GDBUS
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
156 app->priv->session_bus_proxy =
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
157 g_dbus_proxy_new_for_bus_sync(G_BUS_TYPE_SESSION,
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
158 G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES |
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
159 G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START, NULL, DBUS_SERVICE_DBUS,
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
160 DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS, NULL, &error);
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
161 if (app->priv->session_bus_proxy == NULL) {
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
162 g_warning("failed to create DBus proxy: %s", error->message);
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
163 g_error_free(error);
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
164 goto out;
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
165 }
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
166 #else
0
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
167 app->priv->session_bus = dbus_g_bus_get(DBUS_BUS_SESSION, &error);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
168 if (app->priv->session_bus == NULL) {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
169 g_warning("failed to connect to DBus session bus: %s",
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
170 error->message);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
171 g_error_free(error);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
172 goto out;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
173 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
174
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
175 app->priv->session_bus_proxy =
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
176 dbus_g_proxy_new_for_name(app->priv->session_bus,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
177 DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
178 if (app->priv->session_bus_proxy == NULL) {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
179 g_warning("failed to create DBus proxy");
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
180 goto out;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
181 }
2
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
182 #endif /* HAVE_GLIB_GDBUS */
0
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
183
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
184 if (request_name(app)) {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
185 app->priv->is_unique = TRUE;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
186 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
187
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
188 out:
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
189 return (gobject);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
190 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
191
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
192 static void
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
193 xwrited_unique_dispose(GObject *gobject)
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
194 {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
195 XWritedUnique *self = XWRITED_UNIQUE(gobject);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
196
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
197 if (self->priv->session_bus_proxy != NULL) {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
198 g_object_unref(self->priv->session_bus_proxy);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
199 self->priv->session_bus_proxy = NULL;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
200 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
201
2
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
202 #ifndef HAVE_GLIB_GDBUS
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
203 if (self->priv->session_bus != NULL) {
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
204 dbus_g_connection_unref(self->priv->session_bus);
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
205 self->priv->session_bus = NULL;
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
206 }
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
207
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
208 #endif /* !HAVE_GLIB_GDBUS */
0
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
209 G_OBJECT_CLASS(xwrited_unique_parent_class)->dispose(gobject);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
210 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
211
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
212 static void
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
213 xwrited_unique_finalize(GObject *gobject)
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
214 {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
215 XWritedUnique *self = XWRITED_UNIQUE(gobject);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
216
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
217 g_free(self->priv->name);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
218
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
219 G_OBJECT_CLASS(xwrited_unique_parent_class)->finalize(gobject);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
220 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
221
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
222 static void
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
223 xwrited_unique_class_init(XWritedUniqueClass *klass)
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
224 {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
225 GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
226 GParamSpec *pspec;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
227
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
228 gobject_class->constructor = xwrited_unique_constructor;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
229 gobject_class->get_property = xwrited_unique_get_property;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
230 gobject_class->set_property = xwrited_unique_set_property;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
231 gobject_class->dispose = xwrited_unique_dispose;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
232 gobject_class->finalize = xwrited_unique_finalize;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
233
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
234 pspec = g_param_spec_string("name", "Name",
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
235 "The unique name of the application", NULL, G_PARAM_READABLE |
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
236 G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME |
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
237 G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
238 g_object_class_install_property(gobject_class, PROP_NAME, pspec);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
239
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
240 pspec = g_param_spec_boolean("is-unique", "Is unique",
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
241 "Whether the current application instance is unique", FALSE,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
242 G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK |
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
243 G_PARAM_STATIC_BLURB);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
244 g_object_class_install_property(gobject_class, PROP_IS_XWRITED_UNIQUE,
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
245 pspec);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
246
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
247 g_type_class_add_private(klass, sizeof (XWritedUniquePrivate));
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
248 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
249
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
250 static void
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
251 xwrited_unique_init(XWritedUnique *self)
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
252 {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
253 self->priv = XWRITED_UNIQUE_GET_PRIVATE(self);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
254
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
255 self->priv->is_unique = FALSE;
2
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
256 #ifndef HAVE_GLIB_GDBUS
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
257 self->priv->session_bus = NULL;
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
258 #endif /* !HAVE_GLIB_GDBUS */
0
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
259 self->priv->session_bus_proxy = NULL;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
260 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
261
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
262 XWritedUnique *
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
263 xwrited_unique_new(const gchar *name)
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
264 {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
265 XWritedUnique *app;
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
266
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
267 g_return_val_if_fail(name != NULL, NULL);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
268
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
269 app = g_object_new(XWRITED_TYPE_UNIQUE, "name", name, NULL);
2
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
270 if (
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
271 #ifndef HAVE_GLIB_GDBUS
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
272 app->priv->session_bus == NULL ||
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
273 #endif /* !HAVE_GLIB_GDBUS */
c53bcdabbba7 Make use of GDBus for glib >= 2.25.5
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 0
diff changeset
274 app->priv->session_bus_proxy == NULL) {
0
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
275 g_object_unref(app);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
276 return (NULL);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
277 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
278
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
279 return (app);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
280 }
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
281
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
282 gboolean
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
283 xwrited_unique_is_unique(XWritedUnique *self)
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
284 {
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
285 g_return_val_if_fail(XWRITED_IS_UNIQUE(self), FALSE);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
286
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
287 return (self->priv->is_unique);
52694b49dcc4 Initial revision
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
288 }