tizen: release 0.0.4
[platform/core/system/tlm.git] / src / common / tlm-config-general.h
1 /* vi: set et sw=4 ts=4 cino=t0,(0: */
2 /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 /*
4  * This file is part of tlm
5  *
6  * Copyright (C) 2013-2014 Intel Corporation.
7  *
8  * Contact: Imran Zaman <imran.zaman@intel.com>
9  *          Amarnath Valluri <amarnath.valluri@linux.intel.com>
10  *
11  * This library is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU Lesser General Public
13  * License as published by the Free Software Foundation; either
14  * version 2.1 of the License, or (at your option) any later version.
15  *
16  * This library is distributed in the hope that it will be useful, but
17  * WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  * Lesser General Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser General Public
22  * License along with this library; if not, write to the Free Software
23  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
24  * 02110-1301 USA
25  */
26
27 #ifndef __TLM_CONFIG_GENERAL_H_
28 #define __TLM_CONFIG_GENERAL_H_
29
30 /**
31  * SECTION:tlm-config-general
32  * @title: General configuration
33  * @short_description: tlm general configuration keys
34  *
35  * General configuration keys are defined below. See #TlmConfig for how to use
36  * them.
37  */
38
39 /**
40  * TLM_CONFIG_GENERAL:
41  *
42  * A prefix for general keys. Should be used only when defining new keys.
43  */
44 #define TLM_CONFIG_GENERAL                  "General"
45
46 /**
47  * TLM_CONFIG_GENERAL_ACCOUNTS_PLUGIN:
48  *
49  * Accounts plugin (implementation of #TlmAccountPlugin) to use.
50  * Default value: "default". If Tlm has been configured with --enable-debug, the
51  * value can be overriden with TLM_ACCOUNT_PLUGIN environment variable.
52  */
53 #define TLM_CONFIG_GENERAL_ACCOUNTS_PLUGIN  "ACCOUNTS_PLUGIN"
54
55 /**
56  * TLM_CONFIG_GENERAL_SESSION_CMD:
57  *
58  * Session command line: the command run after successfull login. If the value
59  * is not defined in the config file, user's shell from /etc/passwd is used,
60  * and if that is not defined, the fallback is "systemd --user"
61  */
62 #define TLM_CONFIG_GENERAL_SESSION_CMD      "SESSION_CMD"
63
64 /**
65  * TLM_CONFIG_GENERAL_SESSION_PATH:
66  *
67  * Default value for PATH environment variable in user's session. If not set,
68  * "/usr/local/bin:/usr/bin:/bin" is used.
69  */
70 #define TLM_CONFIG_GENERAL_SESSION_PATH     "SESSION_PATH"
71
72 /**
73  * TLM_CONFIG_GENERAL_DATA_DIRS:
74  *
75  * Default value for XDG_DATA_DIRS environment variable. If not set,
76  * "/usr/share:/usr/local/share" is used.
77  */
78 #define TLM_CONFIG_GENERAL_DATA_DIRS        "XDG_DATA_DIRS"
79
80 /**
81  * TLM_CONFIG_GENERAL_AUTO_LOGIN
82  *
83  * Autologin to default user : TRUE/FALSE. TRUE if value is not set
84  *
85  * Whether to automatically log in the default user on startup and when another
86  * user session has been terminated.
87  *
88  */
89 #define TLM_CONFIG_GENERAL_AUTO_LOGIN       "AUTO_LOGIN"
90
91 /**
92  * TLM_CONFIG_GENERAL_PREPARE_DEFAULT
93  *
94  * Prepare default user before auto-login: TRUE/FALSE (FALSE if value not set).
95  *
96  * If set to TRUE, methods of #TlmAccountPlugin are used to set up the default
97  * user's account before auto-login.
98  */
99 #define TLM_CONFIG_GENERAL_PREPARE_DEFAULT  "PREPARE_DEFAULT"
100
101 /**
102  * TLM_CONFIG_GENERAL_PAM_SERVICE:
103  *
104  * PAM service file to use for authentication and session setup. Default value: "tlm-login".
105  */ 
106 #define TLM_CONFIG_GENERAL_PAM_SERVICE      "PAM_SERVICE"
107
108 /**
109  * TLM_CONFIG_GENERAL_DEFAULT_PAM_SERVICE:
110  *
111  * PAM service file to use for default user authentication and session setup. Default value: "tlm-default-login".
112  */
113 #define TLM_CONFIG_GENERAL_DEFAULT_PAM_SERVICE "DEFAULT_PAM_SERVICE"
114
115 /**
116  * TLM_CONFIG_GENERAL_DEFAULT_USER:
117  *
118  * Default username for autologin. Default value: "guest".
119  *
120  * The value can include: \%S - seat number, \%I - seat id string.
121  */
122 #define TLM_CONFIG_GENERAL_DEFAULT_USER     "DEFAULT_USER"
123
124 /**
125  * TLM_CONFIG_GENERAL_SETUP_TERMINAL
126  *
127  * Setup terminal while creating session : TRUE/FALSE. (TRUE if not set).
128  *
129  * Whether to connect the standard input, output and error streams for a newly
130  * created session to the terminal device.
131  */
132 #define TLM_CONFIG_GENERAL_SETUP_TERMINAL   "SETUP_TERMINAL"
133
134 /**
135  * TLM_CONFIG_GENERAL_TERMINATE_TIMEOUT
136  *
137  * Timeout for session termination in seconds. Default value: 10
138  *
139  * Specifies timeout between sending different termination signals in case
140  * the previous signal wasn't obeyed.
141  */
142 #define TLM_CONFIG_GENERAL_TERMINATE_TIMEOUT "TERMINATE_TIMEOUT" 
143
144 /**
145  * TLM_CONFIG_GENERAL_X11_SESSION
146  *
147  * Use X11 style sessions. Default value: 0
148  *
149  * Switches session handling style to X11 sessions where display manager
150  * is terminated and Xserver restarted for each session.
151  */
152 #define TLM_CONFIG_GENERAL_X11_SESSION      "X11_SESSION"
153
154 /**
155  * TLM_CONFIG_GENERAL_PAUSE_SESSION
156  *
157  * Do not actually launch anything after creating session, let systemd
158  * handle it through PAM.
159  */
160 #define TLM_CONFIG_GENERAL_PAUSE_SESSION    "PAUSE_SESSION"
161
162 #endif /* __TLM_GENERAL_CONFIG_H_ */