* Boston, MA 02111-1307, USA.
*/
-#ifndef ACCESSIBLE_REGISTER
-#define ACCESSIBLE_REGISTER
+#ifndef ACCESSIBLE_REGISTER_H
+#define ACCESSIBLE_REGISTER_H
-#include <atk/atk.h>
#include <glib.h>
+#include <glib-object.h>
-void atk_dbus_foreach_registered (GHFunc func, gpointer data);
+typedef struct _SpiRegister SpiRegister;
+typedef struct _SpiRegisterClass SpiRegisterClass;
-/*---------------------------------------------------------------------------*/
+G_BEGIN_DECLS
+
+#define SPI_REGISTER_TYPE (spi_register_get_type ())
+#define SPI_REGISTER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SPI_REGISTER_TYPE, SpiRegister))
+#define SPI_REGISTER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SPI_REGISTER_TYPE, SpiRegisterClass))
+#define SPI_IS_REGISTER(o) (G_TYPE_CHECK__INSTANCE_TYPE ((o), SPI_REGISTER_TYPE))
+#define SPI_IS_REGISTER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SPI_REGISTER_TYPE))
+
+struct _SpiRegister
+{
+ GObject parent;
-GObject *atk_dbus_path_to_gobject (const char *path);
+ GHashTable * ref2ptr;
+ guint reference_counter;
+};
-AtkObject *atk_dbus_path_to_object (const char *path);
+struct _SpiRegisterClass
+{
+ GObjectClass parent_class;
+};
-gchar *atk_dbus_object_attempt_registration (AtkObject * accessible);
+GType spi_register_get_type (void);
-gchar *atk_dbus_object_to_path (AtkObject * accessible, gboolean do_register);
+extern SpiRegister *spi_global_register;
+
+/*---------------------------------------------------------------------------*/
-gchar *atk_dbus_sub_object_to_path (GObject * accessible,
- GObject * container);
+GObject *
+spi_register_path_to_object (SpiRegister * reg, const char *path);
-gchar *atk_dbus_hyperlink_to_path (AtkHyperlink * hyperlink,
- AtkObject * container);
+GObject *
+spi_global_register_path_to_object (const char * path);
-gchar *atk_dbus_desktop_object_path ();
+gchar *
+spi_register_object_to_path (SpiRegister * reg, GObject * gobj);
+
+guint
+spi_register_object_to_ref (GObject * gobj);
+
+gchar *
+spi_register_root_object_path ();
+
+void
+spi_register_deregister_object (SpiRegister *reg, GObject *gobj, gboolean unref);
+
+/*---------------------------------------------------------------------------*/
-gchar *atk_dbus_ref_to_path (guint ref);
-#endif /* ACCESSIBLE_REGISTER */
+#endif /* ACCESSIBLE_REGISTER_H */