summaryrefslogtreecommitdiff
path: root/droute/droute.h
diff options
context:
space:
mode:
authorMark Doffman <mark.doffman@codethink.co.uk>2009-11-07 17:49:15 +0000
committerMark Doffman <mark.doffman@codethink.co.uk>2009-11-07 17:49:15 +0000
commitf35ba2e4b28768ab3f6a07403a3bd360162094ed (patch)
treef2dd59c2a771b2d93da7bd4a1e4662ca0f077fa9 /droute/droute.h
parentbeccc6ec73af048833f1b95b4b7e6e29cfabce13 (diff)
downloadat-spi2-atk-f35ba2e4b28768ab3f6a07403a3bd360162094ed.tar.gz
Add the droute and dbind libraries as static libraries within this repository.
Previously these were shared libraries in at-spi2-core.
Diffstat (limited to 'droute/droute.h')
-rw-r--r--droute/droute.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/droute/droute.h b/droute/droute.h
new file mode 100644
index 0000000..a892c62
--- /dev/null
+++ b/droute/droute.h
@@ -0,0 +1,95 @@
+/*
+ * AT-SPI - Assistive Technology Service Provider Interface
+ * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
+ *
+ * Copyright 2008 Novell, Inc.
+ * Copyright 2008 Codethink Ltd.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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 Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#ifndef _DROUTE_H
+#define _DROUTE_H
+
+#include <dbus/dbus.h>
+#include <glib.h>
+
+#include <droute/droute-variant.h>
+
+
+typedef DBusMessage *(*DRouteFunction) (DBusConnection *, DBusMessage *, void *);
+typedef dbus_bool_t (*DRoutePropertyFunction) (DBusMessageIter *, void *);
+
+typedef void *(*DRouteGetDatumFunction) (const char *, void *);
+
+typedef struct _DRouteMethod DRouteMethod;
+struct _DRouteMethod
+{
+ DRouteFunction func;
+ const char *name;
+};
+
+typedef struct _DRouteProperty DRouteProperty;
+struct _DRouteProperty
+{
+ DRoutePropertyFunction get;
+ DRoutePropertyFunction set;
+ const char *name;
+};
+
+/*---------------------------------------------------------------------------*/
+
+typedef struct _DRouteContext DRouteContext;
+
+typedef struct _DRoutePath DRoutePath;
+
+/*---------------------------------------------------------------------------*/
+
+DRouteContext *
+droute_new (DBusConnection *bus,
+ const char *introspect_dir);
+void
+droute_free (DRouteContext *cnx);
+
+DRoutePath *
+droute_add_one (DRouteContext *cnx,
+ const char *path,
+ const void *data);
+
+DRoutePath *
+droute_add_many (DRouteContext *cnx,
+ const char *path,
+ const void *data,
+ const DRouteGetDatumFunction get_datum);
+
+void
+droute_path_add_interface (DRoutePath *path,
+ const char *name,
+ const DRouteMethod *methods,
+ const DRouteProperty *properties);
+
+DBusMessage *
+droute_not_yet_handled_error (DBusMessage *message);
+
+DBusMessage *
+droute_invalid_arguments_error (DBusMessage *message);
+
+DBusMessage *
+droute_out_of_memory_error (DBusMessage *message);
+
+DBusConnection *
+droute_get_bus (DRouteContext *cnx);
+
+#endif /* _DROUTE_H */