-static DBusHandlerResult
-message_handler (DBusConnection *bus, DBusMessage *message, void *user_data)
-{
- const char *iface = dbus_message_get_interface (message);
- const char *member = dbus_message_get_member (message);
-
- DBusMessage *reply = NULL;
-
- g_return_val_if_fail(iface != NULL, DBUS_HANDLER_RESULT_NOT_YET_HANDLED);
-
- if (!strcmp(iface, "org.freedesktop.atspi.Tree"))
- {
- if (!strcmp(member, "getRoot"))
- {
- reply = impl_getRoot(bus, message, user_data);
- }
-
- if (!strcmp(member, "getTree"))
- {
- reply = impl_getTree(bus, message, user_data);
- }
- }
-
- if (!strcmp(iface, "org.freedesktop.DBus.Introspectable"))
- {
- if (!strcmp(member, "Introspect"))
- {
- reply = impl_introspect(bus, message, user_data);
- }
- }
-
- if (reply)
- {
- dbus_connection_send (bus, reply, NULL);
- dbus_message_unref (reply);
- }
-
- return DBUS_HANDLER_RESULT_HANDLED;
-}
-
-static DBusObjectPathVTable tree_vtable =
-{
- NULL,
- &message_handler,
- NULL, NULL, NULL, NULL
+static DRouteMethod methods[] = {
+ {impl_getRoot, "getRoot"},
+ {impl_getTree, "getTree", TRUE},
+ {NULL, NULL}