]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blob - tests/src/xdmcp-client.h
0f08fcc6cb6ebb2b65a54e0ca030cf7b4d864ac5
[sojka/lightdm.git] / tests / src / xdmcp-client.h
1 #ifndef XDMCP_CLIENT_H_
2 #define XDMCP_CLIENT_H_
3
4 #include <glib-object.h>
5 #include <gio/gio.h>
6
7 #define XDMCP_VERSION 1
8 #define XDMCP_PORT 177
9
10 typedef struct
11 {
12     gchar *authentication_name;
13     gchar *hostname;
14     gchar *status;
15 } XDMCPWilling;
16
17 typedef struct
18 {
19     guint32 session_id;
20     gchar *authentication_name;
21     gchar *authorization_name;
22     guint16 authorization_data_length;
23     guint8 *authorization_data;
24 } XDMCPAccept;
25
26 typedef struct
27 {
28     gchar *status;
29     gchar *authentication_name;
30 } XDMCPDecline;
31
32 typedef struct
33 {
34     guint32 session_id;
35     gchar *status;
36 } XDMCPFailed;
37
38 typedef struct XDMCPClientPrivate XDMCPClientPrivate;
39
40 typedef struct
41 {
42    GObject             parent_instance;
43    XDMCPClientPrivate *priv;
44 } XDMCPClient;
45
46 typedef struct
47 {
48    GObjectClass parent_class;
49    void (*query)(XDMCPClient *client);
50    void (*willing)(XDMCPClient *client, XDMCPWilling *message);
51    void (*accept)(XDMCPClient *client, XDMCPAccept *message);
52    void (*decline)(XDMCPClient *client, XDMCPDecline *message);
53    void (*failed)(XDMCPClient *client, XDMCPFailed *message);
54 } XDMCPClientClass;
55
56 GType xdmcp_client_get_type (void);
57
58 XDMCPClient *xdmcp_client_new (void);
59
60 void xdmcp_client_set_hostname (XDMCPClient *client, const gchar *hostname);
61
62 void xdmcp_client_set_port (XDMCPClient *client, guint16 port);
63
64 gboolean xdmcp_client_start (XDMCPClient *client);
65
66 GInetAddress *xdmcp_client_get_local_address (XDMCPClient *client);
67
68 void xdmcp_client_send_query (XDMCPClient *client);
69
70 void xdmcp_client_send_request (XDMCPClient *client,
71                                 guint16 display_number,
72                                 GInetAddress **addresses,
73                                 const gchar *authentication_name,
74                                 const guint8 *authentication_data, guint16 authentication_data_length,
75                                 gchar **authorization_names, const gchar *mfid);
76
77 void xdmcp_client_send_manage (XDMCPClient *client, guint32 session_id, guint16 display_number, gchar *display_class);
78
79 G_END_DECLS
80
81 #endif /* XDMCP_CLIENT_H_ */