~elementary-os/elementaryos/os-patch-at-spi2-core-xenial

« back to all changes in this revision

Viewing changes to atspi/atspi-device-listener.h

  • Committer: RabbitBot
  • Date: 2016-11-16 09:38:52 UTC
  • Revision ID: rabbitbot@elementary.io-20161116093852-xn6hcgpg5y25xooo
Initial import, version 2.18.3-4ubuntu1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * AT-SPI - Assistive Technology Service Provider Interface
 
3
 * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
 
4
 *
 
5
 * Copyright 2002 Ximian, Inc.
 
6
 *           2002 Sun Microsystems Inc.
 
7
 * Copyright 2010, 2011 Novell, Inc.
 
8
 *           
 
9
 *
 
10
 * This library is free software; you can redistribute it and/or
 
11
 * modify it under the terms of the GNU Library General Public
 
12
 * License as published by the Free Software Foundation; either
 
13
 * version 2 of the License, or (at your option) any later version.
 
14
 *
 
15
 * This library is distributed in the hope that it will be useful,
 
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
18
 * Library General Public License for more details.
 
19
 *
 
20
 * You should have received a copy of the GNU Library General Public
 
21
 * License along with this library; if not, write to the
 
22
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 
23
 * Boston, MA 02111-1307, USA.
 
24
 */
 
25
 
 
26
#ifndef _ATSPI_DEVICE_LISTENER_H_
 
27
#define _ATSPI_DEVICE_LISTENER_H_
 
28
 
 
29
#include "glib-object.h"
 
30
 
 
31
#include "atspi-types.h"
 
32
 
 
33
G_BEGIN_DECLS
 
34
 
 
35
GType atspi_device_event_get_type (void);
 
36
 
 
37
/**
 
38
 * AtspiDeviceListenerCB:
 
39
 * @stroke: (transfer full): The #AtspiDeviceEvent for which notification is
 
40
 *          being received.
 
41
 * @user_data: Data which is passed to the client each time this callback is notified.
 
42
 *
 
43
 * A callback function prototype via which clients receive device event notifications.
 
44
 *
 
45
 * Returns: #TRUE if the client wishes to consume/preempt the event, preventing it from being
 
46
 * relayed to the currently focussed application, #FALSE if the event delivery should proceed as normal.
 
47
 **/
 
48
typedef gboolean (*AtspiDeviceListenerCB)    (const AtspiDeviceEvent *stroke,
 
49
                                                     void                      *user_data);
 
50
 
 
51
/**
 
52
 * AtspiDeviceListenerSimpleCB:
 
53
 * @stroke: (transfer full): The #AtspiDeviceEvent for which notification is
 
54
 *          being received.
 
55
 *
 
56
 * Similar to #AtspiDeviceListenerCB, but with no user data.
 
57
 *
 
58
 * Returns: #TRUE if the client wishes to consume/preempt the event, preventing it from being
 
59
 * relayed to the currently focussed application, #FALSE if the event delivery should proceed as normal.
 
60
 **/
 
61
typedef gboolean (*AtspiDeviceListenerSimpleCB)    (const AtspiDeviceEvent *stroke);
 
62
 
 
63
#define ATSPI_TYPE_DEVICE_LISTENER                        (atspi_device_listener_get_type ())
 
64
#define ATSPI_DEVICE_LISTENER(obj)                        (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATSPI_TYPE_DEVICE_LISTENER, AtspiDeviceListener))
 
65
#define ATSPI_DEVICE_LISTENER_CLASS(klass)                (G_TYPE_CHECK_CLASS_CAST ((klass), ATSPI_TYPE_DEVICE_LISTENER, AtspiDeviceListenerClass))
 
66
#define ATSPI_IS_DEVICE_LISTENER(obj)                     (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATSPI_TYPE_DEVICE_LISTENER))
 
67
#define ATSPI_IS_DEVICE_LISTENER_CLASS(klass)             (G_TYPE_CHECK_CLASS_TYPE ((klass), ATSPI_TYPE_DEVICE_LISTENER))
 
68
#define ATSPI_DEVICE_LISTENER_GET_CLASS(obj)              (G_TYPE_INSTANCE_GET_CLASS ((obj), ATSPI_TYPE_DEVICE_LISTENER, AtspiDeviceListenerClass))
 
69
 
 
70
typedef struct _AtspiDeviceListener AtspiDeviceListener;
 
71
struct _AtspiDeviceListener
 
72
{
 
73
  GObject parent;
 
74
  guint id;
 
75
  GList *callbacks;
 
76
};
 
77
 
 
78
typedef struct _AtspiDeviceListenerClass AtspiDeviceListenerClass;
 
79
struct _AtspiDeviceListenerClass
 
80
{
 
81
  GObjectClass parent_class;
 
82
  gboolean (*device_event) (AtspiDeviceListener *listener, const AtspiDeviceEvent *event);
 
83
};
 
84
 
 
85
GType atspi_device_listener_get_type (void);
 
86
 
 
87
AtspiDeviceListener *atspi_device_listener_new (AtspiDeviceListenerCB callback, void *user_data, GDestroyNotify callback_destroyed);
 
88
 
 
89
AtspiDeviceListener *atspi_device_listener_new_simple (AtspiDeviceListenerSimpleCB callback, GDestroyNotify callback_destroyed);
 
90
 
 
91
void atspi_device_listener_add_callback (AtspiDeviceListener *listener, AtspiDeviceListenerCB callback, GDestroyNotify callback_destroyed, void *user_data);
 
92
 
 
93
void atspi_device_listener_remove_callback (AtspiDeviceListener  *listener, AtspiDeviceListenerCB callback);
 
94
 
 
95
G_END_DECLS
 
96
 
 
97
#endif  /* _ATSPI_DEVICE_LISTENER_H_ */