#include <atk/atk.h>
#include <droute/droute.h>
-#include "common/spi-dbus.h"
+#include "spi-dbus.h"
#include "introspection.h"
/* for spi_global_app_data is there a better way? */
return droute_return_v_string (iter, atk_get_toolkit_version ());
}
+static dbus_bool_t
+impl_get_AtspiVersion (DBusMessageIter * iter, void *user_data)
+{
+ return droute_return_v_string (iter, "2.0");
+}
+
static dbus_int32_t id;
static dbus_bool_t
{
DBusMessage *reply;
+ if (bus == spi_global_app_data->bus)
+ spi_atk_add_client (dbus_message_get_sender (msg));
+
+ if (!spi_global_app_data->app_bus_addr)
+ spi_atk_create_socket (spi_global_app_data);
+
reply = dbus_message_new_method_return(msg);
-if(reply) dbus_message_append_args(reply, DBUS_TYPE_STRING, &(spi_global_app_data->app_bus_addr), DBUS_TYPE_INVALID);
+if (reply)
+ {
+ const char *retval = (atspi_is_initialized () ?
+ "":
+ spi_global_app_data->app_bus_addr);
+ if (!retval)
+ retval = "";
+ dbus_message_append_args(reply, DBUS_TYPE_STRING, &retval, DBUS_TYPE_INVALID);
+ }
return reply;
}
{impl_pause, "pause"},
{impl_resume, "resume"},
{impl_GetLocale, "GetLocale"},
- {impl_get_app_bus, "getApplicationBusAddress"},
+ {impl_get_app_bus, "GetApplicationBusAddress"},
{NULL, NULL}
};
static DRouteProperty properties[] = {
{impl_get_ToolkitName, NULL, "ToolkitName"},
{impl_get_Version, NULL, "Version"},
+ {impl_get_AtspiVersion, NULL, "AtspiVersion"},
{impl_get_Id, impl_set_Id, "Id"},
{NULL, NULL, NULL}
};
spi_initialize_application (DRoutePath * path)
{
droute_path_add_interface (path,
- SPI_DBUS_INTERFACE_APPLICATION,
+ ATSPI_DBUS_INTERFACE_APPLICATION,
spi_org_a11y_atspi_Application,
methods, properties);
};