1/* gtkatspirootprivate.h: AT-SPI root object
2 *
3 * Copyright 2020 GNOME Foundation
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
19 */
20
21#pragma once
22
23#include <gio/gio.h>
24
25#include "gtkatcontextprivate.h"
26#include "gtkatspiprivate.h"
27
28G_BEGIN_DECLS
29
30#define GTK_TYPE_AT_SPI_ROOT (gtk_at_spi_root_get_type())
31
32G_DECLARE_FINAL_TYPE (GtkAtSpiRoot, gtk_at_spi_root, GTK, AT_SPI_ROOT, GObject)
33
34GtkAtSpiRoot *
35gtk_at_spi_root_new (const char *bus_address);
36
37typedef void (* GtkAtSpiRootRegisterFunc) (GtkAtSpiRoot *root,
38 GtkAtSpiContext *context);
39
40void
41gtk_at_spi_root_queue_register (GtkAtSpiRoot *self,
42 GtkAtSpiContext *context,
43 GtkAtSpiRootRegisterFunc func);
44
45void
46gtk_at_spi_root_unregister (GtkAtSpiRoot *self,
47 GtkAtSpiContext *context);
48
49GDBusConnection *
50gtk_at_spi_root_get_connection (GtkAtSpiRoot *self);
51
52GtkAtSpiCache *
53gtk_at_spi_root_get_cache (GtkAtSpiRoot *self);
54
55const char *
56gtk_at_spi_root_get_base_path (GtkAtSpiRoot *self);
57
58GVariant *
59gtk_at_spi_root_to_ref (GtkAtSpiRoot *self);
60
61void
62gtk_at_spi_root_child_changed (GtkAtSpiRoot *self,
63 GtkAccessibleChildChange change,
64 GtkAccessible *child);
65
66G_END_DECLS
67

source code of gtk/gtk/a11y/gtkatspirootprivate.h