]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blob - src/xdmcp-session.c
Don't remove autotools generated files in distclean. That was kind of naughty and...
[sojka/lightdm.git] / src / xdmcp-session.c
1 /*
2  * Copyright (C) 2010-2011 Robert Ancell.
3  * Author: Robert Ancell <robert.ancell@canonical.com>
4  *
5  * This program is free software: you can redistribute it and/or modify it under
6  * the terms of the GNU General Public License as published by the Free Software
7  * Foundation, either version 3 of the License, or (at your option) any later
8  * version. See http://www.gnu.org/copyleft/gpl.html the full text of the
9  * license.
10  */
11
12 #include "xdmcp-session.h"
13 #include "xdmcp-session-private.h"
14
15 G_DEFINE_TYPE (XDMCPSession, xdmcp_session, G_TYPE_OBJECT);
16
17 XDMCPSession *
18 xdmcp_session_new (guint16 id)
19 {
20     XDMCPSession *self = g_object_new (XDMCP_SESSION_TYPE, NULL);
21
22     self->priv->id = id;
23
24     return self;
25 }
26
27 guint16
28 xdmcp_session_get_id (XDMCPSession *session)
29 {
30     g_return_val_if_fail (session != NULL, 0);
31     return session->priv->id;
32 }
33
34 const gchar *
35 xdmcp_session_get_manufacturer_display_id (XDMCPSession *session)
36 {
37     g_return_val_if_fail (session != NULL, NULL);
38     return session->priv->manufacturer_display_id;
39 }
40
41 GInetAddress *
42 xdmcp_session_get_address (XDMCPSession *session)
43 {
44     g_return_val_if_fail (session != NULL, NULL);
45     return session->priv->address;
46 }
47
48 XAuthority *
49 xdmcp_session_get_authority (XDMCPSession *session)
50 {
51     g_return_val_if_fail (session != NULL, NULL);
52     return session->priv->authority;
53 }
54
55 guint16
56 xdmcp_session_get_display_number (XDMCPSession *session)
57 {
58     g_return_val_if_fail (session != NULL, 0);
59     return session->priv->display_number;
60 }
61
62 const gchar *
63 xdmcp_session_get_display_class (XDMCPSession *session)
64 {
65     g_return_val_if_fail (session != NULL, NULL);
66     return session->priv->display_class;
67 }
68
69 static void
70 xdmcp_session_init (XDMCPSession *session)
71 {
72     session->priv = G_TYPE_INSTANCE_GET_PRIVATE (session, XDMCP_SESSION_TYPE, XDMCPSessionPrivate);
73     session->priv->manufacturer_display_id = g_strdup ("");
74     session->priv->display_class = g_strdup ("");
75 }
76
77 static void
78 xdmcp_session_finalize (GObject *object)
79 {
80     XDMCPSession *self;
81
82     self = XDMCP_SESSION (object);
83
84     g_free (self->priv->manufacturer_display_id);
85     if (self->priv->address)
86         g_object_unref (self->priv->address);
87     if (self->priv->authority)
88         g_object_unref (self->priv->authority);
89     g_free (self->priv->display_class);
90
91     G_OBJECT_CLASS (xdmcp_session_parent_class)->finalize (object);
92 }
93
94 static void
95 xdmcp_session_class_init (XDMCPSessionClass *klass)
96 {
97     GObjectClass *object_class = G_OBJECT_CLASS (klass);
98
99     object_class->finalize = xdmcp_session_finalize;
100
101     g_type_class_add_private (klass, sizeof (XDMCPSessionPrivate));
102 }