~lightdm-team/lightdm/1.4

« back to all changes in this revision

Viewing changes to src/user-manager.h

  • Committer: Robert Ancell
  • Date: 2011-05-05 06:11:16 UTC
  • Revision ID: robert.ancell@canonical.com-20110505061116-4nhrdw6k0huve3ek
Move user manager into liblightdm

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Copyright (C) 2010 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
 
#ifndef _USER_MANAGER_H_
13
 
#define _USER_MANAGER_H_
14
 
 
15
 
#include <glib-object.h>
16
 
 
17
 
G_BEGIN_DECLS
18
 
 
19
 
#define USER_MANAGER_TYPE (user_manager_get_type())
20
 
#define USER_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), USER_MANAGER_TYPE, UserManager));
21
 
 
22
 
typedef struct UserManagerPrivate UserManagerPrivate;
23
 
 
24
 
typedef struct
25
 
{
26
 
    gchar *name;
27
 
    gchar *real_name;
28
 
    gchar *image;
29
 
    gchar *home_dir;
30
 
    gboolean logged_in;
31
 
} UserInfo;
32
 
 
33
 
typedef struct
34
 
{
35
 
    GObject         parent_instance;
36
 
    UserManagerPrivate *priv;
37
 
} UserManager;
38
 
 
39
 
typedef struct
40
 
{
41
 
    GObjectClass parent_class;
42
 
    void (*user_added)(UserManager *manager, UserInfo *user);
43
 
    void (*user_changed)(UserManager *manager, UserInfo *user);
44
 
    void (*user_removed)(UserManager *manager, UserInfo *user);
45
 
} UserManagerClass;
46
 
 
47
 
GType user_manager_get_type (void);
48
 
 
49
 
UserManager *user_manager_new (GKeyFile *config_file);
50
 
 
51
 
gint user_manager_get_num_users (UserManager *manager);
52
 
 
53
 
const UserInfo *user_manager_get_user (UserManager *manager, const gchar *username);
54
 
 
55
 
GList *user_manager_get_users (UserManager *manager);
56
 
 
57
 
gboolean user_manager_get_user_defaults (UserManager *manager, gchar *username, gchar **language, gchar **layout, gchar **session);
58
 
 
59
 
G_END_DECLS
60
 
 
61
 
#endif /* _USER_MANAGER_H_ */