2008-07-25 Mark Doffman <mark.doffman@codethink.co.uk>
[platform/core/uifw/at-spi2-atk.git] / login-helper / login-helper.h
1 /*
2  * AT-SPI - Assistive Technology Service Provider Interface
3  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
4  *
5  * LoginHelper
6  *
7  * Copyright 2004 Sun Microsystems Inc.,
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Library General Public
11  * License as published by the Free Software Foundation; either
12  * version 2 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Library General Public License for more details.
18  *
19  * You should have received a copy of the GNU Library General Public
20  * License along with this library; if not, write to the
21  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22  * Boston, MA 02111-1307, USA.
23  */
24
25 #ifndef LOGIN_HELPER_H_
26 #define LOGIN_HELPER_H_
27
28 #include <glib.h>
29 #include <glib-object.h>
30 //#include <login-helper/Accessibility_LoginHelper.h>
31 #include <X11/X.h>
32
33 G_BEGIN_DECLS
34
35 typedef struct _LoginHelper LoginHelper;
36 typedef struct _LoginHelperClass LoginHelperClass;
37
38 #define LOGIN_HELPER_TYPE        (login_helper_get_type ())
39 #define LOGIN_HELPER(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), LOGIN_HELPER_TYPE, LoginHelper))
40 #define LOGIN_HELPER_CLASS(k)    (G_TYPE_CHECK_CLASS_CAST((k), LOGIN_HELPER_TYPE, LoginHelperClass))
41 #define LOGIN_HELPER_GET_CLASS(o)    (G_TYPE_INSTANCE_GET_CLASS((o), LOGIN_HELPER_TYPE, LoginHelperClass))
42 #define IS_LOGIN_HELPER(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), LOGIN_HELPER_TYPE))
43 #define IS_LOGIN_HELPER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), LOGIN_HELPER_TYPE))
44
45 struct _LoginHelper {
46   GObject      parent;
47
48 };
49
50 typedef unsigned long LoginHelperDeviceReqFlags;
51
52 #define LOGIN_HELPER_GUI_EVENTS 1
53 #define LOGIN_HELPER_CORE_KEYBOARD 2
54 #define LOGIN_HELPER_CORE_POINTER 4
55 #define LOGIN_HELPER_EXT_INPUT 8
56 #define LOGIN_HELPER_POST_WINDOWS 16
57 #define LOGIN_HELPER_AUDIO_OUT 32
58 #define LOGIN_HELPER_AUDIO_IN 64
59 #define LOGIN_HELPER_NETWORK 128
60 #define LOGIN_HELPER_LOCALHOST 256 
61 #define LOGIN_HELPER_SERIAL_OUT 512
62 #define LOGIN_HELPER_SERIAL_IN 1024
63 #define LOGIN_HELPER_LAST_DEFINED 2048
64
65 struct _LoginHelperClass {
66   GObjectClass parent_class;
67
68   gboolean (*set_safe) (LoginHelper *helper, gboolean safe);
69   LoginHelperDeviceReqFlags (*get_device_reqs) (LoginHelper *helper);
70   Window*  (*get_raise_windows) (LoginHelper *helper); 
71 };
72
73 GType        login_helper_get_type (void) G_GNUC_CONST;
74 LoginHelper *login_helper_new      (void);
75
76 G_END_DECLS
77
78 #endif /* LOGIN_HELPER_H */