gdm: resync cut-and-paste code from gdm tree.
The GDM code upstream talks to the account service now, has better introspection annotations, and is more asynchronous. This commit updates the shell's copy to the latest upstream. Note, the API changed somewhat and so the callers will need to be fixed up subsequently. https://bugzilla.gnome.org/show_bug.cgi?id=631888
This commit is contained in:
parent
9bfda11f0d
commit
7ce5ea4142
@ -5,6 +5,7 @@ gdmuser_cflags = \
|
|||||||
-DDATADIR=\""$(datadir)"\" \
|
-DDATADIR=\""$(datadir)"\" \
|
||||||
-DG_DISABLE_DEPRECATED \
|
-DG_DISABLE_DEPRECATED \
|
||||||
-DG_LOG_DOMAIN=\"GdmUser\" \
|
-DG_LOG_DOMAIN=\"GdmUser\" \
|
||||||
|
-DGDM_CACHE_DIR=\""$(localstatedir)/cache/gdm"\" \
|
||||||
$(GDMUSER_CFLAGS) \
|
$(GDMUSER_CFLAGS) \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -18,8 +18,8 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GDM_USER_MANAGER_H
|
#ifndef __GDM_USER_MANAGER_H__
|
||||||
#define __GDM_USER_MANAGER_H
|
#define __GDM_USER_MANAGER_H__
|
||||||
|
|
||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
|
|
||||||
@ -35,34 +35,35 @@ G_BEGIN_DECLS
|
|||||||
#define GDM_USER_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDM_TYPE_USER_MANAGER, GdmUserManagerClass))
|
#define GDM_USER_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDM_TYPE_USER_MANAGER, GdmUserManagerClass))
|
||||||
|
|
||||||
typedef struct GdmUserManagerPrivate GdmUserManagerPrivate;
|
typedef struct GdmUserManagerPrivate GdmUserManagerPrivate;
|
||||||
|
typedef struct GdmUserManager GdmUserManager;
|
||||||
|
typedef struct GdmUserManagerClass GdmUserManagerClass;
|
||||||
|
typedef enum GdmUserManagerError GdmUserManagerError;
|
||||||
|
|
||||||
typedef struct
|
struct GdmUserManager
|
||||||
{
|
{
|
||||||
GObject parent;
|
GObject parent;
|
||||||
GdmUserManagerPrivate *priv;
|
GdmUserManagerPrivate *priv;
|
||||||
} GdmUserManager;
|
};
|
||||||
|
|
||||||
typedef struct
|
struct GdmUserManagerClass
|
||||||
{
|
{
|
||||||
GObjectClass parent_class;
|
GObjectClass parent_class;
|
||||||
|
|
||||||
void (* loading_users) (GdmUserManager *user_manager);
|
|
||||||
void (* users_loaded) (GdmUserManager *user_manager);
|
|
||||||
void (* user_added) (GdmUserManager *user_manager,
|
void (* user_added) (GdmUserManager *user_manager,
|
||||||
GdmUser *user);
|
GdmUser *user);
|
||||||
void (* user_removed) (GdmUserManager *user_manager,
|
void (* user_removed) (GdmUserManager *user_manager,
|
||||||
GdmUser *user);
|
GdmUser *user);
|
||||||
void (* user_is_logged_in_changed) (GdmUserManager *user_manager,
|
void (* user_is_logged_in_changed) (GdmUserManager *user_manager,
|
||||||
GdmUser *user);
|
GdmUser *user);
|
||||||
void (* user_login_frequency_changed) (GdmUserManager *user_manager,
|
void (* user_changed) (GdmUserManager *user_manager,
|
||||||
GdmUser *user);
|
GdmUser *user);
|
||||||
} GdmUserManagerClass;
|
};
|
||||||
|
|
||||||
typedef enum
|
enum GdmUserManagerError
|
||||||
{
|
{
|
||||||
GDM_USER_MANAGER_ERROR_GENERAL,
|
GDM_USER_MANAGER_ERROR_GENERAL,
|
||||||
GDM_USER_MANAGER_ERROR_KEY_NOT_FOUND
|
GDM_USER_MANAGER_ERROR_KEY_NOT_FOUND
|
||||||
} GdmUserManagerError;
|
};
|
||||||
|
|
||||||
#define GDM_USER_MANAGER_ERROR gdm_user_manager_error_quark ()
|
#define GDM_USER_MANAGER_ERROR gdm_user_manager_error_quark ()
|
||||||
|
|
||||||
@ -71,6 +72,7 @@ GType gdm_user_manager_get_type (void);
|
|||||||
|
|
||||||
GdmUserManager * gdm_user_manager_ref_default (void);
|
GdmUserManager * gdm_user_manager_ref_default (void);
|
||||||
|
|
||||||
|
void gdm_user_manager_queue_load (GdmUserManager *manager);
|
||||||
GSList * gdm_user_manager_list_users (GdmUserManager *manager);
|
GSList * gdm_user_manager_list_users (GdmUserManager *manager);
|
||||||
GdmUser * gdm_user_manager_get_user (GdmUserManager *manager,
|
GdmUser * gdm_user_manager_get_user (GdmUserManager *manager,
|
||||||
const char *username);
|
const char *username);
|
||||||
@ -80,6 +82,8 @@ GdmUser * gdm_user_manager_get_user_by_uid (GdmUserManager *mana
|
|||||||
gboolean gdm_user_manager_activate_user_session (GdmUserManager *manager,
|
gboolean gdm_user_manager_activate_user_session (GdmUserManager *manager,
|
||||||
GdmUser *user);
|
GdmUser *user);
|
||||||
|
|
||||||
|
gboolean gdm_user_manager_can_switch (GdmUserManager *manager);
|
||||||
|
|
||||||
gboolean gdm_user_manager_goto_login_session (GdmUserManager *manager);
|
gboolean gdm_user_manager_goto_login_session (GdmUserManager *manager);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
* Private interfaces to the GdmUser object
|
* Private interfaces to the GdmUser object
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GDM_USER_PRIVATE_H
|
#ifndef __GDM_USER_PRIVATE_H_
|
||||||
#define __GDM_USER_PRIVATE_H
|
#define __GDM_USER_PRIVATE_H_
|
||||||
|
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
|
|
||||||
@ -30,15 +30,20 @@
|
|||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
void _gdm_user_update (GdmUser *user,
|
void _gdm_user_update_from_object_path (GdmUser *user,
|
||||||
const struct passwd *pwent);
|
const char *object_path);
|
||||||
|
|
||||||
|
void _gdm_user_update_from_pwent (GdmUser *user,
|
||||||
|
const struct passwd *pwent);
|
||||||
|
|
||||||
|
void _gdm_user_update_login_frequency (GdmUser *user,
|
||||||
|
guint64 login_frequency);
|
||||||
|
|
||||||
void _gdm_user_add_session (GdmUser *user,
|
void _gdm_user_add_session (GdmUser *user,
|
||||||
const char *session_id);
|
const char *session_id);
|
||||||
void _gdm_user_remove_session (GdmUser *user,
|
void _gdm_user_remove_session (GdmUser *user,
|
||||||
const char *session_id);
|
const char *session_id);
|
||||||
|
|
||||||
void _gdm_user_icon_changed (GdmUser *user);
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* !__GDM_USER_PRIVATE_H */
|
#endif /* !__GDM_USER_PRIVATE__ */
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -22,8 +22,8 @@
|
|||||||
* Facade object for user data, owned by GdmUserManager
|
* Facade object for user data, owned by GdmUserManager
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GDM_USER_H
|
#ifndef __GDM_USER_H__
|
||||||
#define __GDM_USER_H
|
#define __GDM_USER_H__
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
@ -40,20 +40,24 @@ typedef struct _GdmUserClass GdmUserClass;
|
|||||||
|
|
||||||
GType gdm_user_get_type (void) G_GNUC_CONST;
|
GType gdm_user_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
|
GdmUser *gdm_user_new_from_object_path (const char *path);
|
||||||
|
const char *gdm_user_get_object_path (GdmUser *user);
|
||||||
|
|
||||||
gulong gdm_user_get_uid (GdmUser *user);
|
gulong gdm_user_get_uid (GdmUser *user);
|
||||||
G_CONST_RETURN char *gdm_user_get_user_name (GdmUser *user);
|
const char *gdm_user_get_user_name (GdmUser *user);
|
||||||
G_CONST_RETURN char *gdm_user_get_real_name (GdmUser *user);
|
const char *gdm_user_get_real_name (GdmUser *user);
|
||||||
G_CONST_RETURN char *gdm_user_get_home_directory (GdmUser *user);
|
|
||||||
G_CONST_RETURN char *gdm_user_get_shell (GdmUser *user);
|
|
||||||
guint gdm_user_get_num_sessions (GdmUser *user);
|
guint gdm_user_get_num_sessions (GdmUser *user);
|
||||||
GList *gdm_user_get_sessions (GdmUser *user);
|
gboolean gdm_user_is_logged_in (GdmUser *user);
|
||||||
gulong gdm_user_get_login_frequency (GdmUser *user);
|
gulong gdm_user_get_login_frequency (GdmUser *user);
|
||||||
|
const char *gdm_user_get_icon_file (GdmUser *user);
|
||||||
|
const char *gdm_user_get_primary_session_id (GdmUser *user);
|
||||||
|
|
||||||
GdkPixbuf *gdm_user_render_icon (GdmUser *user,
|
GdkPixbuf *gdm_user_render_icon (GdmUser *user,
|
||||||
gint icon_size);
|
gint icon_size);
|
||||||
|
|
||||||
gint gdm_user_collate (GdmUser *user1,
|
gint gdm_user_collate (GdmUser *user1,
|
||||||
GdmUser *user2);
|
GdmUser *user2);
|
||||||
|
gboolean gdm_user_is_loaded (GdmUser *user);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user