]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blob - liblightdm-gobject/lightdm/layout.h
c971980b60b36dc294b85ffea775d5fd4a0596a6
[sojka/lightdm.git] / liblightdm-gobject / lightdm / layout.h
1 /*
2  * Copyright (C) 2010 Robert Ancell.
3  * Author: Robert Ancell <robert.ancell@canonical.com>
4  *
5  * This library is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU Lesser General Public License as published by the Free
7  * Software Foundation; either version 2 or version 3 of the License.
8  * See http://www.gnu.org/copyleft/lgpl.html the full text of the license.
9  */
10
11 #ifndef LIGHTDM_LAYOUT_H_
12 #define LIGHTDM_LAYOUT_H_
13
14 #include <glib-object.h>
15
16 G_BEGIN_DECLS
17
18 #define LIGHTDM_TYPE_LAYOUT            (lightdm_layout_get_type())
19 #define LIGHTDM_LAYOUT(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIGHTDM_TYPE_LAYOUT, LightDMLayout));
20 #define LIGHTDM_LAYOUT_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), LIGHTDM_TYPE_LAYOUT, LightDMLayoutClass))
21 #define LIGHTDM_IS_LAYOUT(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIGHTDM_TYPE_LAYOUT))
22 #define LIGHTDM_IS_LAYOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIGHTDM_TYPE_LAYOUT))
23 #define LIGHTDM_LAYOUT_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), LIGHTDM_TYPE_LAYOUT, LightDMLayoutClass))
24
25 typedef struct
26 {
27     GObject parent_instance;
28 } LightDMLayout;
29
30 typedef struct
31 {
32     GObjectClass parent_class;
33
34     /* Reserved */
35     void (*reserved1) (void);
36     void (*reserved2) (void);
37     void (*reserved3) (void);
38     void (*reserved4) (void);
39     void (*reserved5) (void);
40     void (*reserved6) (void);
41 } LightDMLayoutClass;
42
43 #ifdef GLIB_VERSION_2_44
44 typedef LightDMLayout *LightDMLayout_autoptr;
45 static inline void glib_autoptr_cleanup_LightDMLayout (LightDMLayout **_ptr)
46 {
47     glib_autoptr_cleanup_GObject ((GObject **) _ptr);
48 }
49 #endif
50
51 GType lightdm_layout_get_type (void);
52
53 GList *lightdm_get_layouts (void);
54
55 void lightdm_set_layout (LightDMLayout *layout);
56
57 LightDMLayout *lightdm_get_layout (void);
58
59 const gchar *lightdm_layout_get_name (LightDMLayout *layout);
60
61 const gchar *lightdm_layout_get_short_description (LightDMLayout *layout);
62
63 const gchar *lightdm_layout_get_description (LightDMLayout *layout);
64
65 G_END_DECLS
66
67 #endif /* LIGHTDM_LAYOUT_H_ */