summaryrefslogtreecommitdiff
path: root/xfconf
diff options
context:
space:
mode:
authorBrian Tarricone <brian@tarricone.org>2007-10-03 12:34:05 +0000
committerBrian Tarricone <brian@tarricone.org>2007-10-03 12:34:05 +0000
commit6e3eb9e521c7ca454af781ef55b43d1c32088bff (patch)
treec08de354597683bb084dd7cf5360bc98b6e2176e /xfconf
parent0395d8ec37100b934b51378a8783911b4a223963 (diff)
downloadxfconf-6e3eb9e521c7ca454af781ef55b43d1c32088bff.tar.gz
* move XfconfBackendError to a more public place and rename it to XfconfError
* allow xfconfd to load multiple backends, the first of which is read/write, and the others are read-only * update docs (Old svn revision: 26762)
Diffstat (limited to 'xfconf')
-rw-r--r--xfconf/Makefile.am1
-rw-r--r--xfconf/xfconf-errors.h51
-rw-r--r--xfconf/xfconf.c3
-rw-r--r--xfconf/xfconf.h1
4 files changed, 56 insertions, 0 deletions
diff --git a/xfconf/Makefile.am b/xfconf/Makefile.am
index b52eed3..05d7fc9 100644
--- a/xfconf/Makefile.am
+++ b/xfconf/Makefile.am
@@ -4,6 +4,7 @@ lib_LTLIBRARIES = libxfconf-0.la
libxfconfincludedir = $(includedir)/xfce4/xfconf-$(LIBXFCONF_VERSION_API)/xfconf
libxfconfinclude_HEADERS = \
xfconf-channel.h \
+ xfconf-errors.h \
xfconf.h
libxfconf_0_la_SOURCES = \
diff --git a/xfconf/xfconf-errors.h b/xfconf/xfconf-errors.h
new file mode 100644
index 0000000..54d9f55
--- /dev/null
+++ b/xfconf/xfconf-errors.h
@@ -0,0 +1,51 @@
+/*
+ * xfconf
+ *
+ * Copyright (c) 2007 Brian Tarricone <bjt23@cornell.edu>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License ONLY.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __XFCONF_ERRORS_H__
+#define __XFCONF_ERRORS_H__
+
+#if !defined(LIBXFCONF_COMPILATION) && !defined(XFCONF_IN_XFCONF_H)
+#error "Do not include xfconf-errors.h, as this file may change or disappear in the future. Include <xfconf/xfconf.h> instead."
+#endif
+
+#include <glib-object.h>
+
+#define XFCONF_TYPE_ERROR (xfconf_error_get_type())
+#define XFCONF_ERROR (xfconf_get_error_quark())
+
+G_BEGIN_DECLS
+
+typedef enum
+{
+ XFCONF_ERROR_UNKNOWN = 0,
+ XFCONF_ERROR_CHANNEL_NOT_FOUND,
+ XFCONF_ERROR_PROPERTY_NOT_FOUND,
+ XFCONF_ERROR_READ_FAILURE,
+ XFCONF_ERROR_WRITE_FAILURE,
+ XFCONF_ERROR_PERMISSION_DENIED,
+ XFCONF_ERROR_INTERNAL_ERROR,
+ XFCONF_ERROR_NO_BACKEND,
+} XfconfError;
+
+GType xfconf_error_get_type() G_GNUC_CONST;
+GQuark xfconf_get_error_quark();
+
+G_END_DECLS
+
+#endif /* __XFCONF_ERRORS_H__ */
diff --git a/xfconf/xfconf.c b/xfconf/xfconf.c
index 17ca85f..ac6ba48 100644
--- a/xfconf/xfconf.c
+++ b/xfconf/xfconf.c
@@ -88,6 +88,9 @@ xfconf_init(GError **error)
g_type_init();
+ dbus_g_error_domain_register(XFCONF_ERROR, "org.xfce.Xfconf.Error",
+ XFCONF_TYPE_ERROR);
+
dbus_conn = dbus_g_bus_get(DBUS_BUS_SESSION, error);
if(!dbus_conn)
return FALSE;
diff --git a/xfconf/xfconf.h b/xfconf/xfconf.h
index dd477d1..f1ad9fb 100644
--- a/xfconf/xfconf.h
+++ b/xfconf/xfconf.h
@@ -25,6 +25,7 @@
#define XFCONF_IN_XFCONF_H
#include <xfconf/xfconf-channel.h>
+#include <xfconf/xfconf-errors.h>
G_BEGIN_DECLS