? Patch.patch
? at-spi-1.6.4-1.patch
? at-spi-1.7.5.tar.gz
? at-spi-1.7.6.tar.gz
? at-spi-document-patches
? at-spi-document-patches.tar
? at-spi-registryleakfix.diff
? at-spi-server-fix.diff
? at-spi-stream-patch.diff
? depcomp
? document-patch-revised.diff
? eog-trace.txt
? gtk-doc.make
? leak-fix-diffs.diff
? leak-fix-final.diff
? leak-fix-next.diff
? leak-fix.diff
? leakfix.diff
? linguas.patch
? mingw.patch
? patch.diff
? relation.diff
? roles.diff
? single-bonobo_unknown-loading.patch
? stream0ANCBT
? stream0RCIBT
? stream14CFBT
? stream1BCEBT
? stream1RNEBT
? stream2RFKBT
? stream3EBMBT
? stream3HQJBT
? stream3KJHBT
? stream3LE8AT
? stream3PYLBT
? stream533FBT
? stream53V6AT
? stream9MOQBT
? streamBKOFBT
? streamCKOJBT
? streamELPABT
? streamEY6IBT
? streamFCXIBT
? streamFFR5AT
? streamFHPGBT
? streamFLYOBT
? streamG9NCBT
? streamHP26AT
? streamHZ3NBT
? streamISXMBT
? streamJJAMBT
? streamKCYQBT
? streamKDW9AT
? streamKYWEBT
? streamLCV6AT
? streamLEJHBT
? streamLMZGBT
? streamNAXNBT
? streamNE14AT
? streamOCWFBT
? streamOPQABT
? streamPQ9KBT
? streamPY0LBT
? streamQ1RCBT
? streamQ4SHBT
? streamQL46AT
? streamRBK8AT
? streamRGXCBT
? streamRXHEBT
? streamRXUCBT
? streamT2BABT
? streamTWLLBT
? streamU378AT
? streamU7MMBT
? streamUK4IBT
? streamV108AT
? streamV5AKBT
? streamXQWLBT
? streamZ30IBT
? streamZG4FBT
? streamable.patch
? streamble.patch
? this-patch-breaks-stuff.diff
? atk-bridge/bridge-undefined
? docs/reference/cspi/tmpl/at-spi-cspi-unused.sgml
? docs/reference/cspi/tmpl/spi_streamable_content.sgml
? docs/reference/idl/doxygen-output.txt
? docs/reference/idl/doxygen-warnings.txt
? docs/reference/idl/xml
? idl/stream-diff.patch
? libspi/libspi-undefined
? login-helper/Accessibility_LoginHelper-common.c
? login-helper/Accessibility_LoginHelper-imodule.c
? login-helper/Accessibility_LoginHelper-skels.c
? login-helper/Accessibility_LoginHelper-stubs.c
? login-helper/Accessibility_LoginHelper.h
? po/stamp-it
? test/event-listener-test
? test/keypad-test
? test/keysynth-test
? test/login-helper-client-test
? test/login-helper-server-test
? test/screen-review-test
? test/stress-test
? test/window-listener-test
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/at-spi/ChangeLog,v
retrieving revision 1.522
diff -u -r1.522 ChangeLog
--- ChangeLog	29 Jun 2006 12:46:48 -0000	1.522
+++ ChangeLog	29 Jun 2006 14:59:50 -0000
@@ -1,5 +1,24 @@
 2006-06-29  Bill Haneman <bill.haneman@sun.com>
 
+	* libspi/Makefile.am:
+
+	* libspi/document.h:
+
+	* libspi/document.c:
+
+	* idl/Accessibility.idl: Added Accessibility_Document.idl.
+
+	* cspi/Makefile.am: Added spi_document.c to sources.
+
+	* cspi/spi_document.c:
+
+	* cspi/spi_accessible.c:
+
+	* ARIEL could you please write complete this ChangeLog
+	entry for your patch?  Thanks.
+	
+2006-06-29  Bill Haneman <bill.haneman@sun.com>
+
 	* idl/Accessibility_Document.idl: New interface
 	for complex documents.  First stage of fix for RFE
 	#326520.
Index: cspi/Makefile.am
===================================================================
RCS file: /cvs/gnome/at-spi/cspi/Makefile.am,v
retrieving revision 1.16
diff -u -r1.16 Makefile.am
--- cspi/Makefile.am	14 Jun 2006 14:27:15 -0000	1.16
+++ cspi/Makefile.am	29 Jun 2006 14:59:50 -0000
@@ -30,6 +30,7 @@
 	spi_action.c		\
 	spi_application.c	\
 	spi_component.c		\
+	spi_document.c		\
 	spi_editabletext.c	\
 	spi_event.c		\
 	spi_hyperlink.c		\
Index: cspi/spi-impl.h
===================================================================
RCS file: /cvs/gnome/at-spi/cspi/spi-impl.h,v
retrieving revision 1.19
diff -u -r1.19 spi-impl.h
--- cspi/spi-impl.h	14 Jun 2006 14:43:28 -0000	1.19
+++ cspi/spi-impl.h	29 Jun 2006 14:59:50 -0000
@@ -37,6 +37,7 @@
 typedef Accessible AccessibleAction;
 typedef Accessible AccessibleApplication;
 typedef Accessible AccessibleComponent;
+typedef Accessible AccessibleDocument;
 typedef Accessible AccessibleEditableText;
 typedef Accessible AccessibleHyperlink;
 typedef Accessible AccessibleHypertext;
Index: cspi/spi.h
===================================================================
RCS file: /cvs/gnome/at-spi/cspi/spi.h,v
retrieving revision 1.72
diff -u -r1.72 spi.h
--- cspi/spi.h	9 Jun 2006 16:00:23 -0000	1.72
+++ cspi/spi.h	29 Jun 2006 14:59:52 -0000
@@ -516,6 +516,7 @@
 SPIBoolean Accessible_isAction            (Accessible *obj);
 SPIBoolean Accessible_isApplication       (Accessible *obj);
 SPIBoolean Accessible_isComponent         (Accessible *obj);
+SPIBoolean Accessible_isDocument          (Accessible *obj);
 SPIBoolean Accessible_isEditableText      (Accessible *obj);
 SPIBoolean Accessible_isHypertext         (Accessible *obj);
 SPIBoolean Accessible_isImage             (Accessible *obj);
@@ -528,6 +529,7 @@
 AccessibleAction *            Accessible_getAction            (Accessible *obj);
 AccessibleApplication *       Accessible_getApplication       (Accessible *obj);
 AccessibleComponent *         Accessible_getComponent         (Accessible *obj);
+AccessibleDocument *          Accessible_getDocument          (Accessible *obj);
 AccessibleEditableText *      Accessible_getEditableText      (Accessible *obj);
 AccessibleHypertext *         Accessible_getHypertext         (Accessible *obj);
 AccessibleImage *             Accessible_getImage             (Accessible *obj);
@@ -595,6 +597,15 @@
 SPIBoolean  AccessibleComponent_grabFocus   (AccessibleComponent *obj);
 short       AccessibleComponent_getMDIZOrder(AccessibleComponent *obj);
 double      AccessibleComponent_getAlpha    (AccessibleComponent *obj);
+
+/* AccessibleDocument function prototypes  */
+
+void        AccessibleDocument_ref               (AccessibleDocument *obj);
+void        AccessibleDocument_unref             (AccessibleDocument *obj);
+char       *AccessibleDocument_getLocale         (AccessibleDocument *obj);
+char       *AccessibleDocument_getAttributeValue (AccessibleDocument *obj,
+						  char *attribute);
+AccessibleAttributeSet *AccessibleDocument_getAttributes     (AccessibleDocument *obj);
 
 /* AccessibleEditableText function prototypes  */
 
Index: cspi/spi_accessible.c
===================================================================
RCS file: /cvs/gnome/at-spi/cspi/spi_accessible.c,v
retrieving revision 1.65
diff -u -r1.65 spi_accessible.c
--- cspi/spi_accessible.c	23 Jun 2006 16:46:27 -0000	1.65
+++ cspi/spi_accessible.c	29 Jun 2006 14:59:53 -0000
@@ -242,7 +242,7 @@
   return cspi_role; 
 }
 
-static AccessibleAttributeSet *
+AccessibleAttributeSet *
 cspi_attribute_set_from_sequence (const Accessibility_AttributeSet *seq)
 {
     AccessibleAttributeSet *set = g_new0 (AccessibleAttributeSet, 1);
@@ -630,7 +630,7 @@
     retval = cspi_attribute_set_from_sequence (corba_seq);
     CORBA_free (corba_seq);
 
-    return NULL;
+    return retval;
 }
 
 /**
@@ -707,6 +707,22 @@
 }
 
 /**
+ * Accessible_isDocument:
+ * @obj: a pointer to the #Accessible instance to query.
+ *
+ * Query whether the specified #Accessible implements #AccessibleDocument.
+ *
+ * Returns: #TRUE if @obj implements the #AccessibleDocument interface,
+ *          #FALSE otherwise.
+ **/
+SPIBoolean
+Accessible_isDocument (Accessible *obj)
+{
+  return cspi_accessible_is_a (obj,
+			      "IDL:Accessibility/Document:1.0");
+}
+
+/**
  * Accessible_isEditableText:
  * @obj: a pointer to the #Accessible instance to query.
  *
@@ -881,6 +897,21 @@
 {
   return (AccessibleComponent *) Accessible_queryInterface (
 	  obj, "IDL:Accessibility/Component:1.0");
+}
+/**
+ * Accessible_getDocument:
+ * @obj: a pointer to the #Accessible instance to query.
+ *
+ * Get the #AccessibleDocument interface for an #Accessible.
+ *
+ * Returns: a pointer to an #AccessibleDocument interface instance, or
+ *          NULL if @obj does not implement #AccessibleDocument.
+ **/
+AccessibleDocument *
+Accessible_getDocument (Accessible *obj)
+{
+  return (AccessibleDocument *) Accessible_queryInterface (
+	  obj, "IDL:Accessibility/Document:1.0");
 }
 
 /**
Index: cspi/spi_document.c
===================================================================
RCS file: cspi/spi_document.c
diff -N cspi/spi_document.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ cspi/spi_document.c	29 Jun 2006 14:59:53 -0000
@@ -0,0 +1,103 @@
+/*
+ * AT-SPI - Assistive Technology Service Provider Interface
+ * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
+ *
+ * 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
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <cspi/spi.h>
+#include <cspi/spi-private.h>
+
+
+/**
+ * AccessibleDocument_ref:
+ * @obj: a pointer to the #AccessibleDocument object on which to operate.
+ *
+ * Increment the reference count for an #AccessibleDocument object.
+ **/
+void
+AccessibleDocument_ref (AccessibleDocument *obj)
+{
+  cspi_object_ref (obj);
+}
+
+/**
+ * AccessibleDocument_unref:
+ * @obj: a pointer to the #Accessible object on which to operate.
+ *
+ * Decrement the reference count for an #AccessibleDocument object.
+ **/
+
+void
+AccessibleDocument_unref (AccessibleDocument *obj)
+{
+  cspi_object_unref (obj);
+}
+
+
+char *
+AccessibleDocument_getLocale (AccessibleDocument *obj)
+{
+  char *retval = "C";
+
+  cspi_return_val_if_fail (obj != NULL, "C");
+
+  retval = Accessibility_Document_getLocale (CSPI_OBJREF (obj),
+					     cspi_ev ());
+  
+  cspi_return_val_if_ev ("getLocale", NULL);
+
+  return retval;
+
+}
+
+char *
+AccessibleDocument_getAttributeValue (AccessibleDocument *obj,
+				      char *attribute)
+{
+  
+  char *retval;
+
+  cspi_return_val_if_fail (obj != NULL, NULL);
+
+  retval = Accessibility_Document_getAttributeValue (CSPI_OBJREF (obj),
+						     attribute,
+						     cspi_ev ());
+
+  cspi_return_val_if_ev ("getAttributeValue", NULL);
+
+  return retval;
+  
+}
+				      
+
+AccessibleAttributeSet * 
+AccessibleDocument_getAttributes (AccessibleDocument *obj){
+
+  AccessibleAttributeSet *retval;
+
+  cspi_return_val_if_fail (obj != NULL, NULL);
+
+  retval = Accessibility_Document_getAttributes (CSPI_OBJREF (obj),
+						    cspi_ev ());
+  cspi_return_val_if_ev ("getAttributes", NULL);
+  
+  return retval;
+
+}
Index: libspi/Makefile.am
===================================================================
RCS file: /cvs/gnome/at-spi/libspi/Makefile.am,v
retrieving revision 1.40
diff -u -r1.40 Makefile.am
--- libspi/Makefile.am	14 Jun 2006 14:27:15 -0000	1.40
+++ libspi/Makefile.am	29 Jun 2006 14:59:53 -0000
@@ -21,6 +21,7 @@
 	application.h		\
 	base.h			\
 	component.h		\
+	document.h		\
 	editabletext.h		\
 	hyperlink.h		\
 	hypertext.h		\
@@ -74,6 +75,7 @@
 	application.c		\
 	base.c			\
 	component.c		\
+	document.c		\
 	editabletext.c		\
 	hyperlink.c		\
 	hypertext.c		\
Index: libspi/document.c
===================================================================
RCS file: libspi/document.c
diff -N libspi/document.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ libspi/document.c	29 Jun 2006 14:59:53 -0000
@@ -0,0 +1,152 @@
+/*
+ * AT-SPI - Assistive Technology Service Provider Interface
+ * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
+ *
+ * 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
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+/* document.c: implements the Document interface */
+
+
+#include <config.h>
+#include <stdio.h>
+#include <bonobo/bonobo-exception.h>
+#include <libspi/document.h>
+#include <libspi/spi-private.h>
+
+SpiDocument *
+spi_document_interface_new (AtkObject *obj)
+{
+  SpiDocument *new_document = g_object_new (SPI_DOCUMENT_TYPE, NULL);
+
+  spi_base_construct (SPI_BASE (new_document), G_OBJECT(obj));
+
+  return new_document;
+
+}
+
+static AtkDocument *
+get_document_from_servant (PortableServer_Servant servant)
+{
+
+  SpiBase *object = SPI_BASE (bonobo_object_from_servant (servant));
+
+  g_return_val_if_fail (object, NULL);
+  g_return_val_if_fail (ATK_IS_OBJECT (object->gobj), NULL);
+
+  return ATK_DOCUMENT (object->gobj);
+
+}
+
+static CORBA_string
+impl_getLocale (PortableServer_Servant servant,
+		CORBA_Environment *ev)
+{
+  const gchar *lc;
+  AtkDocument *document = get_document_from_servant (servant);
+
+  g_return_val_if_fail (document != NULL, "");
+
+  lc = atk_document_get_locale (document);
+
+  if (lc)
+    return CORBA_string_dup (lc);
+  else
+      return CORBA_string_dup (""); /* Should we return 'C' by default? */
+}
+
+static CORBA_string 
+impl_getAttributeValue (PortableServer_Servant servant,
+			const CORBA_char *attributename,
+			CORBA_Environment *ev){
+
+  const gchar *atr;
+  
+  AtkDocument *document = get_document_from_servant (servant);
+   
+  g_return_val_if_fail (document != NULL, "");
+
+  atr = atk_document_get_attribute_value (document, attributename);
+
+  if (atr)
+    return CORBA_string_dup (atr);
+  else
+    return CORBA_string_dup ("");
+}
+
+
+static CORBA_string
+impl_getAttributes (PortableServer_Servant servant,
+		    CORBA_Environment *ev){
+  
+  AtkDocument *document = get_document_from_servant (servant);
+  AtkAttributeSet *attributes = NULL;
+  Accessibility_AttributeSet *retval;
+  gint n_attributes = 0;
+  gint i;
+  
+  g_return_val_if_fail (document != NULL, CORBA_string_dup (""));
+  
+  attributes = atk_document_get_attributes (document);
+  
+  bonobo_return_val_if_fail (attributes != NULL, NULL, ev);
+
+  bonobo_return_val_if_fail (attributes != NULL, NULL, ev);
+
+  /* according to atkobject.h, AtkAttributeSet is a GSList */
+  n_attributes = g_slist_length (attributes);
+    
+  retval = CORBA_sequence_CORBA_string__alloc ();
+  retval->_length = retval->_maximum = n_attributes;
+  retval->_buffer = CORBA_sequence_CORBA_string_allocbuf (n_attributes);
+  CORBA_sequence_set_release (retval, CORBA_TRUE);
+  
+  for (i = 0; i < n_attributes; ++i)
+  {
+      retval->_buffer[i] = CORBA_string_dup (g_slist_nth_data (attributes, i));
+  }
+    
+  atk_attribute_set_free (attributes);
+
+  return retval;
+  
+}
+
+
+static void
+spi_document_class_init (SpiDocumentClass *klass)
+{
+
+ 
+  POA_Accessibility_Document__epv *epv = &klass->epv;
+
+  epv->getLocale = impl_getLocale;
+  epv->getAttributeValue = impl_getAttributeValue;
+  epv->getAttributes = impl_getAttributes;
+
+}
+
+static void
+spi_document_init (SpiDocument *document)
+{
+}
+BONOBO_TYPE_FUNC_FULL (SpiDocument,
+		       Accessibility_Document,
+		       SPI_TYPE_BASE,
+		       spi_document)
Index: libspi/document.h
===================================================================
RCS file: libspi/document.h
diff -N libspi/document.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ libspi/document.h	29 Jun 2006 14:59:53 -0000
@@ -0,0 +1,57 @@
+/*
+ * AT-SPI - Assistive Technology Service Provider Interface
+ * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
+ *
+ * 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
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef SPI_DOCUMENT_H_
+#define SPI_DOCUMENT_H_
+
+#include <libspi/base.h>
+#include <atk/atkdocument.h>
+
+G_BEGIN_DECLS
+
+#define SPI_DOCUMENT_TYPE         (spi_document_get_type ())
+#define SPI_DOCUMENT(obj)         (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPI_DOCUMENT_TYPE, SpiDocument))
+#define SPI_DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SPI_DOCUMENT_TYPE, SpiDocumentClass))
+#define IS_DOCUMENT(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj, SPI_DOCUMENT_TYPE))
+#define IS_DOCUMENT_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), SPI_DOCUMENT_TYPE))
+
+typedef struct _SpiDocument SpiDocument;
+typedef struct _SpiDocumentClass SpiDocumentClass;
+
+struct _SpiDocument {
+  SpiBase parent;
+};
+
+struct _SpiDocumentClass {
+  SpiBaseClass parent_class;
+  POA_Accessibility_Document__epv epv;
+};
+
+GType        spi_document_get_type       (void);
+void         spi_document_construct      (SpiDocument *document,
+				          AtkObject *obj);
+SpiDocument *spi_document_interface_new  (AtkObject *obj);
+
+G_END_DECLS
+
+#endif /* SPI_DOCUMENT_H_ */
Index: libspi/libspi.h
===================================================================
RCS file: /cvs/gnome/at-spi/libspi/libspi.h,v
retrieving revision 1.8
diff -u -r1.8 libspi.h
--- libspi/libspi.h	22 Jun 2006 23:02:39 -0000	1.8
+++ libspi/libspi.h	29 Jun 2006 14:59:53 -0000
@@ -29,6 +29,7 @@
 #include <libspi/action.h>
 #include <libspi/application.h>
 #include <libspi/component.h>
+#include <libspi/document.h>
 #include <libspi/editabletext.h>
 #include <libspi/hyperlink.h>
 #include <libspi/hypertext.h>
