X-Git-Url: http://rtime.felk.cvut.cz/gitweb/sojka/lightdm.git/blobdiff_plain/a315b2e029b829aed4d9766e4d21cf5f2cf24f1a..acd0eb6be742bc652c5e28ea51e94206775d80f3:/liblightdm-gobject/lightdm/user.h diff --git a/liblightdm-gobject/lightdm/user.h b/liblightdm-gobject/lightdm/user.h index 20e37299..d092477a 100644 --- a/liblightdm-gobject/lightdm/user.h +++ b/liblightdm-gobject/lightdm/user.h @@ -1,16 +1,15 @@ /* * Copyright (C) 2010 Robert Ancell. * Author: Robert Ancell - * + * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free - * Software Foundation; either version 3 of the License, or (at your option) any - * later version. See http://www.gnu.org/copyleft/lgpl.html the full text of the - * license. + * Software Foundation; either version 2 or version 3 of the License. + * See http://www.gnu.org/copyleft/lgpl.html the full text of the license. */ -#ifndef _LIGHTDM_USER_H_ -#define _LIGHTDM_USER_H_ +#ifndef LIGHTDM_USER_H_ +#define LIGHTDM_USER_H_ #include @@ -30,6 +29,12 @@ G_BEGIN_DECLS #define LIGHTDM_IS_USER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIGHTDM_TYPE_USER)) #define LIGHTDM_USER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIGHTDM_TYPE_USER, LightDMUserClass)) +#define LIGHTDM_USER_LIST_SIGNAL_USER_ADDED "user-added" +#define LIGHTDM_USER_LIST_SIGNAL_USER_CHANGED "user-changed" +#define LIGHTDM_USER_LIST_SIGNAL_USER_REMOVED "user-removed" + +#define LIGHTDM_SIGNAL_USER_CHANGED "changed" + typedef struct { GObject parent_instance; @@ -39,6 +44,14 @@ typedef struct { GObjectClass parent_class; void (*changed)(LightDMUser *user); + + /* Reserved */ + void (*reserved1) (void); + void (*reserved2) (void); + void (*reserved3) (void); + void (*reserved4) (void); + void (*reserved5) (void); + void (*reserved6) (void); } LightDMUserClass; typedef struct @@ -53,8 +66,29 @@ typedef struct void (*user_added)(LightDMUserList *user_list, LightDMUser *user); void (*user_changed)(LightDMUserList *user_list, LightDMUser *user); void (*user_removed)(LightDMUserList *user_list, LightDMUser *user); + + /* Reserved */ + void (*reserved1) (void); + void (*reserved2) (void); + void (*reserved3) (void); + void (*reserved4) (void); + void (*reserved5) (void); + void (*reserved6) (void); } LightDMUserListClass; +#ifdef GLIB_VERSION_2_44 +typedef LightDMUser *LightDMUser_autoptr; +static inline void glib_autoptr_cleanup_LightDMUser (LightDMUser **_ptr) +{ + glib_autoptr_cleanup_GObject ((GObject **) _ptr); +} +typedef LightDMUserList *LightDMUserList_autoptr; +static inline void glib_autoptr_cleanup_LightDMUserList (LightDMUserList **_ptr) +{ + glib_autoptr_cleanup_GObject ((GObject **) _ptr); +} +#endif + GType lightdm_user_list_get_type (void); GType lightdm_user_get_type (void); @@ -77,14 +111,22 @@ const gchar *lightdm_user_get_home_directory (LightDMUser *user); const gchar *lightdm_user_get_image (LightDMUser *user); +const gchar *lightdm_user_get_background (LightDMUser *user); + const gchar *lightdm_user_get_language (LightDMUser *user); const gchar *lightdm_user_get_layout (LightDMUser *user); +const gchar * const *lightdm_user_get_layouts (LightDMUser *user); + const gchar *lightdm_user_get_session (LightDMUser *user); gboolean lightdm_user_get_logged_in (LightDMUser *user); +gboolean lightdm_user_get_has_messages (LightDMUser *user); + +uid_t lightdm_user_get_uid (LightDMUser *user); + G_END_DECLS -#endif /* _LIGHTDM_USER_H_ */ +#endif /* LIGHTDM_USER_H_ */