+/* Application-specific methods */
+
+/**
+ * atspi_accessible_get_toolkit_name:
+ * @obj: a pointer to the #AtspiAccessible object on which to operate.
+ *
+ * Gets the toolkit name for an #AtspiAccessible object.
+ * Only works on application root objects.
+ *
+ * Returns: a UTF-8 string indicating the toolkit name for the #AtspiAccessible object or NULL on exception.
+ **/
+gchar *
+atspi_accessible_get_toolkit_name (AtspiAccessible *obj, GError **error)
+{
+ g_return_val_if_fail (obj != NULL, NULL);
+
+ if (!obj->parent.app)
+ return NULL;
+
+ if (!obj->parent.app->toolkit_name)
+ _atspi_dbus_get_property (obj, atspi_interface_application, "ToolkitName",
+ error, "s", &obj->parent.app->toolkit_name);
+
+ return g_strdup (obj->parent.app->toolkit_name);
+}
+
+/**
+ * atspi_accessible_get_toolkit_version:
+ * @obj: a pointer to the #AtspiAccessible object on which to operate.
+ *
+ * Gets the toolkit version for an #AtspiAccessible object.
+ * Only works on application root objects.
+ *
+ * Returns: a UTF-8 string indicating the toolkit version for the #AtspiAccessible object or NULL on exception.
+ **/
+gchar *
+atspi_accessible_get_toolkit_version (AtspiAccessible *obj, GError **error)
+{
+ g_return_val_if_fail (obj != NULL, NULL);
+
+ if (!obj->parent.app)
+ return NULL;
+
+ if (!obj->parent.app->toolkit_version)
+ _atspi_dbus_get_property (obj, atspi_interface_application, "Version",
+ error, "s", &obj->parent.app->toolkit_version);
+
+ return g_strdup (obj->parent.app->toolkit_version);
+}
+
+/**
+ * atspi_accessible_get_atspi_version:
+ * @obj: a pointer to the #AtspiAccessible object on which to operate.
+ *
+ * Gets the AT-SPI IPC specification version supported by the application
+ * pointed to by the #AtspiAccessible object.
+ * Only works on application root objects.
+ *
+ * Returns: a UTF-8 string indicating the AT-SPI version for the #AtspiAccessible object or NULL on exception.
+ **/
+gchar *
+atspi_accessible_get_atspi_version (AtspiAccessible *obj, GError **error)
+{
+ g_return_val_if_fail (obj != NULL, NULL);
+
+ if (!obj->parent.app)
+ return NULL;
+
+ if (!obj->parent.app->atspi_version)
+ _atspi_dbus_get_property (obj, atspi_interface_application, "AtspiVersion",
+ error, "s", &obj->parent.app->atspi_version);
+
+ return g_strdup (obj->parent.app->atspi_version);
+}
+
+/**
+ * atspi_accessible_get_id:
+ * @obj: a pointer to the #AtspiAccessible object on which to operate.
+ *
+ * Gets the application id for a #AtspiAccessible object.
+ * Only works on application root objects.
+ *
+ * Returns: a positive #gint indicating the id for the #AtspiAccessible object
+ * or -1 on exception.
+ **/
+gint
+atspi_accessible_get_id (AtspiAccessible *obj, GError **error)
+{
+ gint ret = -1;
+
+ g_return_val_if_fail (obj != NULL, -1);
+
+ if (!_atspi_dbus_get_property (obj, atspi_interface_application, "Id", error, "i", &ret))
+ return -1;
+ return ret;
+}
+
+