blob: cf6b54ac40d8c7d099ac576852d9c4d01775e05d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
* GDM Internals
This document attempts to describe the internal design of GDM.
** GdmManager
The GdmManager is the top-level singleton object. It contains a
GdmDisplayStore object and a number of GdmDisplayFactory objects.
** GdmDisplayStore
This is a container for storing GdmDisplay objects.
** GdmDisplayFactory
A GdmDisplayFactory is an abstract class of object that is capable of
creating GdmDisplay objects.
*** GdmLocalDisplayFactory
A subclass of GdmDisplayFactory that uses logind to identify
local hardware on which to start a GdmDisplay.
*** GdmXdmcpDisplayFactory
A subclass of GdmDisplayFactory that listens for requests for XDMCP
logins and creates a GdmDisplay for them.
** GdmDisplay
A GdmDisplay is an abstract class of object that represents a single X
Server diplay.
*** GdmStaticDisplay
A subclass of GdmDisplay that represents a local display.
*** GdmXdmcpDisplay
A subclass of GdmDisplay that represents a remote XDMCP display.
** GdmSlave
A GdmSlave is an abstract class of object that performs work for a
GdmDisplay. A Slave is run in a sub-process spawned by each GdmDisplay. The
slave communicates with the parent display using the D-Bus protocol.
*** GdmSimpleSlave
A subclass of GdmSlave that runs both a login greeter and a user
session.
** GdmServer
A class, used by the slave, that manages running a local X Server.
** GdmLaunchEnvironment
A class, used by the slave, that manages a GdmSession.
** GdmSession
A class, used by multiple components, to manage PAM conversations and
sessions. It's used by GdmLaunchEnvironment to manage program sessions
(greeters, choosers, initial-setup), by GdmSimpleSlave to manage user
sessions, and by the worker itself to perform reauth.
** GdmSessionWorkerJob
A class that manages running a GdmSessionWorker subprocess. This will
also provide the GdmSession D-Bus address to the subprocess.
** GdmSessionWorker
This class handles the PAM conversation and relays the questions and
messages to the GdmSession through the private D-Bus connection. When
the user is authenticated this subprocess "exec"s the user session.
Local Variables:
mode: outline
End:
|