source: proiecte/PPPP/gdm/gui/simple-greeter/gdm-user-manager.h @ 134

Last change on this file since 134 was 134, checked in by (none), 14 years ago

gdm sources with the modifications for webcam

File size: 3.7 KB
Line 
1/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
2 *
3 * Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 *
19 */
20
21#ifndef __GDM_USER_MANAGER_H
22#define __GDM_USER_MANAGER_H
23
24#include <glib-object.h>
25
26#include "gdm-user.h"
27
28G_BEGIN_DECLS
29
30#define GDM_TYPE_USER_MANAGER         (gdm_user_manager_get_type ())
31#define GDM_USER_MANAGER(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_TYPE_USER_MANAGER, GdmUserManager))
32#define GDM_USER_MANAGER_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), GDM_TYPE_USER_MANAGER, GdmUserManagerClass))
33#define GDM_IS_USER_MANAGER(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_TYPE_USER_MANAGER))
34#define GDM_IS_USER_MANAGER_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), GDM_TYPE_USER_MANAGER))
35#define GDM_USER_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDM_TYPE_USER_MANAGER, GdmUserManagerClass))
36
37typedef struct GdmUserManagerPrivate GdmUserManagerPrivate;
38
39typedef struct
40{
41        GObject                parent;
42        GdmUserManagerPrivate *priv;
43} GdmUserManager;
44
45typedef struct
46{
47        GObjectClass   parent_class;
48
49        void          (* loading_users)             (GdmUserManager *user_manager);
50        void          (* users_loaded)              (GdmUserManager *user_manager);
51        void          (* user_added)                (GdmUserManager *user_manager,
52                                                     GdmUser        *user);
53        void          (* user_removed)              (GdmUserManager *user_manager,
54                                                     GdmUser        *user);
55        void          (* user_is_logged_in_changed) (GdmUserManager *user_manager,
56                                                     GdmUser        *user);
57        void          (* user_login_frequency_changed) (GdmUserManager *user_manager,
58                                                        GdmUser        *user);
59} GdmUserManagerClass;
60
61typedef enum
62{
63        GDM_USER_MANAGER_ERROR_GENERAL,
64        GDM_USER_MANAGER_ERROR_KEY_NOT_FOUND
65} GdmUserManagerError;
66
67#define GDM_USER_MANAGER_ERROR gdm_user_manager_error_quark ()
68
69GQuark              gdm_user_manager_error_quark           (void);
70GType               gdm_user_manager_get_type              (void);
71
72GdmUserManager *    gdm_user_manager_ref_default           (void);
73
74GSList *            gdm_user_manager_list_users            (GdmUserManager *manager);
75GdmUser *           gdm_user_manager_get_user              (GdmUserManager *manager,
76                                                            const char     *user_name);
77GdmUser *           gdm_user_manager_get_user_by_uid       (GdmUserManager *manager,
78                                                            uid_t           uid);
79
80gboolean            gdm_user_manager_activate_user_session (GdmUserManager *manager,
81                                                            GdmUser        *user);
82
83gboolean            gdm_user_manager_goto_login_session    (GdmUserManager *manager);
84
85G_END_DECLS
86
87#endif /* __GDM_USER_MANAGER_H */
Note: See TracBrowser for help on using the repository browser.