Add atk-bridge
[platform/core/uifw/at-spi2-atk.git] / cspi / spi_application.c
index 3fe39cd..4be9422 100644 (file)
@@ -2,7 +2,8 @@
  * AT-SPI - Assistive Technology Service Provider Interface
  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
  *
- * Copyright 2001 Sun Microsystems Inc.
+ * Copyright 2001, 2002 Sun Microsystems Inc.,
+ * Copyright 2001, 2002 Ximian, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -27,6 +28,7 @@
  */
 
 #include <cspi/spi-private.h>
+#include <locale.h>
 
 /**
  * AccessibleApplication_ref:
@@ -98,7 +100,7 @@ AccessibleApplication_getVersion (AccessibleApplication *obj)
     Accessibility_Application__get_version (CSPI_OBJREF (obj),
                                            cspi_ev ());
 
-  cspi_return_val_if_ev ("getVersion", NULL);
+  cspi_return_val_if_ev ("version", NULL);
 
   return retval;
 }
@@ -124,12 +126,62 @@ AccessibleApplication_getID (AccessibleApplication *obj)
   retval = Accessibility_Application__get_id (CSPI_OBJREF (obj),
                                              cspi_ev ());
 
-  cspi_return_val_if_ev ("get_id", 0);
+  cspi_return_val_if_ev ("id", 0);
 
   return retval;
 }
 
 /**
+ * AccessibleApplication_getLocale:
+ * @obj: a pointer to the #AccessibleApplication being queried.
+ * @lc_category: one of the POSIX LC_TYPE enumeration, for instance
+ * LC_MESSAGES.
+ *
+ * Get a POSIX-compliant string describing the application's current
+ * locale setting for a particular @lctype category.
+ *
+ * @Since: AT-SPI 1.4
+ *
+ * Returns: a POSIX-compliant locale string, e.g. "C", "pt_BR", "sr@latn", etc.
+ **/
+char *
+AccessibleApplication_getLocale (AccessibleApplication *obj, int lc_category)
+{
+  gchar *retval;
+  Accessibility_LOCALE_TYPE lctype;
+
+  cspi_return_val_if_fail (obj != NULL, CORBA_string_dup (""));
+
+  switch (lc_category) 
+  {
+  case LC_COLLATE:
+    lctype = Accessibility_LOCALE_TYPE_COLLATE;
+    break;
+  case LC_CTYPE:
+    lctype = Accessibility_LOCALE_TYPE_CTYPE;
+    break;
+  case LC_NUMERIC:
+    lctype = Accessibility_LOCALE_TYPE_NUMERIC;
+    break;
+  case LC_MONETARY:
+    lctype = Accessibility_LOCALE_TYPE_MONETARY;
+    break;
+  case LC_MESSAGES:
+  default:
+    lctype = Accessibility_LOCALE_TYPE_MESSAGES;
+    break;
+  }
+
+  retval = Accessibility_Application_getLocale (CSPI_OBJREF (obj),
+                                               lctype,
+                                               cspi_ev ());
+
+  cspi_return_val_if_ev ("id", CORBA_string_dup (""));
+
+  return CORBA_string_dup (retval);
+}
+
+/**
  * AccessibleApplication_pause:
  * @obj: a pointer to the #Accessible object on which to operate.
  *