|
Packit |
f2f3b5 |
/*
|
|
Packit |
f2f3b5 |
* AT-SPI - Assistive Technology Service Provider Interface
|
|
Packit |
f2f3b5 |
* (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
|
|
Packit |
f2f3b5 |
*
|
|
Packit |
f2f3b5 |
* Copyright 2010 Codethink Ltd.
|
|
Packit |
f2f3b5 |
*
|
|
Packit |
f2f3b5 |
* This library is free software; you can redistribute it and/or
|
|
Packit |
f2f3b5 |
* modify it under the terms of the GNU Library General Public
|
|
Packit |
f2f3b5 |
* License as published by the Free Software Foundation; either
|
|
Packit |
f2f3b5 |
* version 2 of the License, or (at your option) any later version.
|
|
Packit |
f2f3b5 |
*
|
|
Packit |
f2f3b5 |
* This library is distributed in the hope that it will be useful,
|
|
Packit |
f2f3b5 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
f2f3b5 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
f2f3b5 |
* Library General Public License for more details.
|
|
Packit |
f2f3b5 |
*
|
|
Packit |
f2f3b5 |
* You should have received a copy of the GNU Library General Public
|
|
Packit |
f2f3b5 |
* License along with this library; if not, write to the
|
|
Packit |
f2f3b5 |
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
Packit |
f2f3b5 |
* Boston, MA 02111-1307, USA.
|
|
Packit |
f2f3b5 |
*/
|
|
Packit |
f2f3b5 |
|
|
Packit |
f2f3b5 |
#ifndef ACCESSIBLE_CACHE_H
|
|
Packit |
f2f3b5 |
#define ACCESSIBLE_CACHE_H
|
|
Packit |
f2f3b5 |
|
|
Packit |
f2f3b5 |
#include <glib.h>
|
|
Packit |
f2f3b5 |
#include <glib-object.h>
|
|
Packit |
f2f3b5 |
|
|
Packit |
f2f3b5 |
typedef struct _SpiCache SpiCache;
|
|
Packit |
f2f3b5 |
typedef struct _SpiCacheClass SpiCacheClass;
|
|
Packit |
f2f3b5 |
|
|
Packit |
f2f3b5 |
G_BEGIN_DECLS
|
|
Packit |
f2f3b5 |
|
|
Packit |
f2f3b5 |
#define SPI_CACHE_TYPE (spi_cache_get_type ())
|
|
Packit |
f2f3b5 |
#define SPI_CACHE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SPI_CACHE_TYPE, SpiCache))
|
|
Packit |
f2f3b5 |
#define SPI_CACHE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SPI_CACHE_TYPE, SpiCacheClass))
|
|
Packit |
f2f3b5 |
#define SPI_IS_CACHE(o) (G_TYPE_CHECK__INSTANCE_TYPE ((o), SPI_CACHE_TYPE))
|
|
Packit |
f2f3b5 |
#define SPI_IS_CACHE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SPI_CACHE_TYPE))
|
|
Packit |
f2f3b5 |
|
|
Packit |
f2f3b5 |
struct _SpiCache
|
|
Packit |
f2f3b5 |
{
|
|
Packit |
f2f3b5 |
GObject parent;
|
|
Packit |
f2f3b5 |
|
|
Packit |
f2f3b5 |
GHashTable * objects;
|
|
Packit |
f2f3b5 |
GQueue *add_traversal;
|
|
Packit |
f2f3b5 |
gint add_pending_idle;
|
|
Packit |
f2f3b5 |
|
|
Packit |
f2f3b5 |
guint child_added_listener;
|
|
Packit |
f2f3b5 |
};
|
|
Packit |
f2f3b5 |
|
|
Packit |
f2f3b5 |
struct _SpiCacheClass
|
|
Packit |
f2f3b5 |
{
|
|
Packit |
f2f3b5 |
GObjectClass parent_class;
|
|
Packit |
f2f3b5 |
};
|
|
Packit |
f2f3b5 |
|
|
Packit |
f2f3b5 |
GType spi_cache_get_type (void);
|
|
Packit |
f2f3b5 |
|
|
Packit |
f2f3b5 |
extern SpiCache *spi_global_cache;
|
|
Packit |
f2f3b5 |
|
|
Packit |
f2f3b5 |
void
|
|
Packit |
f2f3b5 |
spi_cache_foreach (SpiCache * cache, GHFunc func, gpointer data);
|
|
Packit |
f2f3b5 |
|
|
Packit |
f2f3b5 |
gboolean
|
|
Packit |
f2f3b5 |
spi_cache_in (SpiCache * cache, GObject * object);
|
|
Packit |
f2f3b5 |
|
|
Packit |
f2f3b5 |
G_END_DECLS
|
|
Packit |
f2f3b5 |
#endif /* ACCESSIBLE_CACHE_H */
|