gchar *
atspi_accessible_get_toolkit_name (AtspiAccessible *obj, GError **error)
{
- gchar *ret = NULL;
-
g_return_val_if_fail (obj != NULL, NULL);
- if (!_atspi_dbus_get_property (obj, atspi_interface_application, "ToolkitName", error, "s", &ret))
- return NULL;
- return ret;
+ 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);
}
/**
gchar *
atspi_accessible_get_toolkit_version (AtspiAccessible *obj, GError **error)
{
- gchar *ret = NULL;
-
g_return_val_if_fail (obj != NULL, NULL);
- if (!_atspi_dbus_get_property (obj, atspi_interface_application, "Version", error, "s", &ret))
- return NULL;
- return ret;
+ 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);
}
/**
gchar *
atspi_accessible_get_atspi_version (AtspiAccessible *obj, GError **error)
{
- gchar *ret = NULL;
-
g_return_val_if_fail (obj != NULL, NULL);
- if (!_atspi_dbus_get_property (obj, atspi_interface_application, "AtspiVersion", error, "s", &ret))
- return NULL;
- return ret;
+ 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);
}
/**
{
AtspiApplication *application = ATSPI_APPLICATION (object);
- if (application->bus_name)
- g_free (application->bus_name);
+ g_free (application->bus_name);
+ g_free (application->toolkit_name);
+ g_free (application->toolkit_version);
+ g_free (application->atspi_version);
G_OBJECT_CLASS (atspi_application_parent_class)->finalize (object);
}