Functions | |
void | session_item_selected_cb (void *data, Evas_Object *o, const char *emission, const char *source) |
Executed when a Session is selected. | |
void | user_selected_cb (void *data, Evas_Object *o, const char *emission, const char *source) |
Executed when a Session is selected. | |
void | user_unselected_cb (void *data, Evas_Object *o, const char *emission, const char *source) |
Executed when a Session is unselected. | |
static void | _entrance_session_user_list_fix (Entrance_Session *e) |
_entrance_session_user_list_fix : update the user's list with the current user as the new head of the list. | |
static void | _entrance_session_execute_in_shell (char *user, char *shell, char *session_cmd, char *session_name) |
Entrance_Session * | entrance_session_new (const char *config, const char *display, int testing) |
entrance_session_new: allocate a new Entrance_Session | |
void | entrance_session_ecore_evas_set (Entrance_Session *e, Ecore_Evas *ee) |
entrance_session_ecore_evas_set : | |
void | entrance_session_free (Entrance_Session *e) |
entrance_session_free: free the entrance session | |
void | entrance_session_run (Entrance_Session *e) |
entrance_session_run: Be a login dm, start running | |
int | entrance_session_auth_user (Entrance_Session *e) |
entrance_session_auth_user: attempt to authenticate the user | |
void | entrance_session_user_reset (Entrance_Session *e) |
entrance_session_user_reset: forget what we know about the current user | |
int | entrance_session_user_set (Entrance_Session *e, const char *user) |
entrance_session_user_set: forget what we know about the current user, load what info we can from the entrance user parameter, so we have a new user in our "entrance.user.avatar" edje | |
int | entrance_session_pass_set (Entrance_Session *e, const char *pass) |
void | entrance_session_user_session_default_set (Entrance_Session *e) |
entrance_session_user_session_default_set : change the current EntranceUser's default session to what Entrance itself currently has in context. | |
void | entrance_session_setup_user_session (Entrance_Session *e) |
entrance_session_setup_user_session: Setup user session Set up user's environment, including environment variables, Xauth cookie and any other necessary parameters | |
void | entrance_session_start_user_session (Entrance_Session *e) |
entrance_session_start_user_session: Launch user session This function launches the requested X session using the login watchdog process | |
void | entrance_session_x_session_set (Entrance_Session *e, Entrance_X_Session *exs) |
entrance_session_xsession_set : Set the current xsesssion to the specified key, emit a signal to the main edje letting it know the main session has changed | |
void | entrance_session_edje_object_set (Entrance_Session *e, Evas_Object *obj) |
Set the main edje for the session to be the parameter passed in. | |
void | entrance_session_bg_object_set (Entrance_Session *e, Evas_Object *obj) |
Set the edje object for the background. | |
void | entrance_session_xsession_list_add (Entrance_Session *e) |
entrance_session_xsession_list_add : fine the "entrance.xsessions.list" part in the main edje, setup the container to hold the elements, and create session edjes for the container based on our session list in the config | |
void | entrance_session_list_direction_set (Entrance_Session *e, Evas_Object *container, const char *direction) |
void | entrance_session_user_list_add (Entrance_Session *e) |
entrance_session_user_list_add : find the "entrance.users.list" object in the main edje, setup the container to hold the elements, and create user edjes for the container with our user list in the config | |
Entrance_X_Session * | entrance_session_x_session_default_get (Entrance_Session *e) |
entrance_session_default_xsession_get : Return the hash key for the session that's the first item in the system's session list |
static void _entrance_session_execute_in_shell | ( | char * | user, | |
char * | shell, | |||
char * | session_cmd, | |||
char * | session_name | |||
) | [static] |
Referenced by entrance_session_start_user_session().
static void _entrance_session_user_list_fix | ( | Entrance_Session * | e | ) | [static] |
_entrance_session_user_list_fix : update the user's list with the current user as the new head of the list.
If it's the first time the user has logged in, create a new user element and prepend it to the list.
e | - the entrance session you're working with |
References _Entrance_Session::auth, _Entrance_Session::config, _Entrance_Session::db, entrance_config_user_list_save(), entrance_user_new(), _Entrance_Config::hash, _Entrance_Config::keys, _Entrance_User::name, _Entrance_Session::session, _Entrance_Auth::user, and _Entrance_Config::users.
Referenced by entrance_session_start_user_session().
int entrance_session_auth_user | ( | Entrance_Session * | e | ) |
entrance_session_auth_user: attempt to authenticate the user
e | - the entrance session we're trying to auth |
References _Entrance_Config::auth, _Entrance_Session::auth, _Entrance_Session::config, _Entrance_Session::display, and entrance_auth_cmp().
Referenced by entrance_session_pass_set().
void entrance_session_bg_object_set | ( | Entrance_Session * | e, | |
Evas_Object * | obj | |||
) |
Set the edje object for the background.
e | The Entrance Session to be modified | |
obj | The new Edje background object |
References _Entrance_Session::background.
void entrance_session_ecore_evas_set | ( | Entrance_Session * | e, | |
Ecore_Evas * | ee | |||
) |
entrance_session_ecore_evas_set :
e | - the Entrance_Session to set the ecore evas for | |
ee | - the pointer to a fully setup Ecore_Evas we want to run |
References _Entrance_Session::config, _Entrance_Session::ee, and _Entrance_Config::fonts.
Referenced by main().
void entrance_session_edje_object_set | ( | Entrance_Session * | e, | |
Evas_Object * | obj | |||
) |
Set the main edje for the session to be the parameter passed in.
e | The entrance session you want to modify | |
obj | The new edje you're specifying |
References _Entrance_Session::edje.
Referenced by setup_ecore_evas().
void entrance_session_free | ( | Entrance_Session * | e | ) |
entrance_session_free: free the entrance session
e | - the Entrance_Session to free |
References _Entrance_Session::auth, _Entrance_Session::config, _Entrance_Session::db, _Entrance_Session::edje, _Entrance_Session::ee, entrance_auth_free(), entrance_config_free(), _Entrance_Session::session, _Entrance_Session::session_container, and _Entrance_Session::user_container.
Referenced by main(), reboot_cb(), setup_ecore_evas(), and shutdown_cb().
void entrance_session_list_direction_set | ( | Entrance_Session * | e, | |
Evas_Object * | container, | |||
const char * | direction | |||
) |
Entrance_Session* entrance_session_new | ( | const char * | config, | |
const char * | display, | |||
int | testing | |||
) |
entrance_session_new: allocate a new Entrance_Session
config | Parse this config file instead of the normal system one | |
config | The display this session will be running on | |
testing | Whether we're a real login app, or a test window |
References _Entrance_Session::auth, _Entrance_Session::config, _Entrance_Session::db, _Entrance_Session::display, entrance_auth_new(), entrance_config_load(), EXITCODE, _Entrance_Session::session, _Entrance_Session::session_selected, and _Entrance_Session::testing.
Referenced by main().
int entrance_session_pass_set | ( | Entrance_Session * | e, | |
const char * | pass | |||
) |
References _Entrance_Session::auth, entrance_auth_pass_set(), and entrance_session_auth_user().
Referenced by interp_return_key().
void entrance_session_run | ( | Entrance_Session * | e | ) |
entrance_session_run: Be a login dm, start running
e | - the Entrance_Session to be run |
References _Entrance_Session::authed, _Entrance_Config::autologin, _Entrance_Session::config, _Entrance_Session::edje, _Entrance_Session::ee, ENTRANCE_AUTOLOGIN_DEFAULT, ENTRANCE_AUTOLOGIN_NONE, ENTRANCE_AUTOLOGIN_THEME, ENTRANCE_PRESEL_PREV, entrance_session_user_set(), _Entrance_Config::hash, _Entrance_Config::mode, _Entrance_User::name, _Entrance_Config::presel, _Entrance_Config::prevuser, _Entrance_Config::username, and _Entrance_Config::users.
Referenced by main().
void entrance_session_setup_user_session | ( | Entrance_Session * | e | ) |
entrance_session_setup_user_session: Setup user session Set up user's environment, including environment variables, Xauth cookie and any other necessary parameters
e | The current Entrance Session |
References _Entrance_Session::auth, _Entrance_Session::display, entrance_auth_setup_environment(), entrance_ipc_connected_get(), entrance_ipc_request_xauth(), and _Entrance_Auth::pw.
Referenced by done_cb().
void entrance_session_start_user_session | ( | Entrance_Session * | e | ) |
entrance_session_start_user_session: Launch user session This function launches the requested X session using the login watchdog process
e | - the currently running session |
References _entrance_session_execute_in_shell(), _entrance_session_user_list_fix(), _Entrance_Config::auth, _Entrance_Session::auth, _Entrance_Config::autologin, _Entrance_Session::config, _Entrance_Session::db, _Entrance_Session::display, _Entrance_Session::ee, entrance_auth_free(), entrance_auth_setup_environment(), entrance_config_prevuser_save(), entrance_ipc_shutdown(), ENTRANCE_USE_PAM, _Entrance_Config::hash, _Entrance_Config::mode, _Entrance_Auth::pw, _Entrance_X_Session::session, _Entrance_Session::session, _Entrance_Config::sessions, struct_passwd_dup(), _Entrance_Session::testing, _Entrance_Auth::user, and _Entrance_Config::xsession.
Referenced by main().
void entrance_session_user_list_add | ( | Entrance_Session * | e | ) |
entrance_session_user_list_add : find the "entrance.users.list" object in the main edje, setup the container to hold the elements, and create user edjes for the container with our user list in the config
e | - the entrance session you want to add the user list to |
References _Entrance_Session::config, _Entrance_Session::edje, entrance_user_edje_get(), _Entrance_Config::hash, _Entrance_Config::keys, _Entrance_Session::user_container, and _Entrance_Config::users.
Referenced by setup_ecore_evas().
void entrance_session_user_reset | ( | Entrance_Session * | e | ) |
entrance_session_user_reset: forget what we know about the current user
e | - the entrance session we should forget the user for |
References _Entrance_Session::auth, _Entrance_Session::edje, entrance_auth_free(), and entrance_auth_new().
Referenced by interp_return_key(), and user_unselected_cb().
void entrance_session_user_session_default_set | ( | Entrance_Session * | e | ) |
entrance_session_user_session_default_set : change the current EntranceUser's default session to what Entrance itself currently has in context.
This only will get written if someone successfully auths after a selection like this is made, but it allows themes etc to have dialogs deciding whether or not they should save this new session as default
e | - the currently running session |
References _Entrance_Session::auth, _Entrance_Session::config, _Entrance_Config::hash, _Entrance_User::session, _Entrance_Session::session, _Entrance_Auth::user, and _Entrance_Config::users.
Referenced by _user_session_set().
int entrance_session_user_set | ( | Entrance_Session * | e, | |
const char * | user | |||
) |
entrance_session_user_set: forget what we know about the current user, load what info we can from the entrance user parameter, so we have a new user in our "entrance.user.avatar" edje
e | - the entrance sesssion currently running | |
eu | - the new entrance user we're setting as "current" |
References _Entrance_Session::auth, _Entrance_Session::config, _Entrance_Session::edje, entrance_auth_user_set(), entrance_session_x_session_set(), entrance_user_edje_get(), entrance_user_new(), _Entrance_Config::hash, _Entrance_User::session, _Entrance_Session::session, _Entrance_Session::session_selected, _Entrance_Config::sessions, and _Entrance_Config::users.
Referenced by entrance_session_run(), interp_return_key(), and user_selected_cb().
Entrance_X_Session* entrance_session_x_session_default_get | ( | Entrance_Session * | e | ) |
entrance_session_default_xsession_get : Return the hash key for the session that's the first item in the system's session list
e | - the entrance session you're working with |
References _Entrance_Session::config, _Entrance_Config::hash, _Entrance_Config::keys, and _Entrance_Config::sessions.
Referenced by setup_ecore_evas().
void entrance_session_x_session_set | ( | Entrance_Session * | e, | |
Entrance_X_Session * | exs | |||
) |
entrance_session_xsession_set : Set the current xsesssion to the specified key, emit a signal to the main edje letting it know the main session has changed
e | - the entrance session you want to set the session for | |
exs | - the Entrance_X_Session we want to be the new current |
References _Entrance_Session::auth, _Entrance_Session::config, _Entrance_Session::edje, entrance_x_session_edje_get(), _Entrance_Config::hash, _Entrance_X_Session::name, _Entrance_User::session, _Entrance_Session::session, _Entrance_Auth::user, and _Entrance_Config::users.
Referenced by entrance_session_user_set(), session_item_selected_cb(), and setup_ecore_evas().
void entrance_session_xsession_list_add | ( | Entrance_Session * | e | ) |
entrance_session_xsession_list_add : fine the "entrance.xsessions.list" part in the main edje, setup the container to hold the elements, and create session edjes for the container based on our session list in the config
e | - the entrance session you want to add the xsession list to |
References _Entrance_Session::config, _Entrance_Session::edje, entrance_x_session_button_new(), _Entrance_Config::hash, _Entrance_Config::keys, _Entrance_Session::session_container, and _Entrance_Config::sessions.
Referenced by setup_ecore_evas().
void session_item_selected_cb | ( | void * | data, | |
Evas_Object * | o, | |||
const char * | emission, | |||
const char * | source | |||
) |
Executed when a Session is selected.
data | - the data passed when the callback was added | |
o | - the evas object(Edje) that created the signal | |
emission | - the signal "type" that was emitted | |
source | - the signal originated from this "part" Attempt to set the Part named "entrance.time" to the results of localtime. This way the interval is configurable via a program in the theme and not statically bound to a value. |
void user_selected_cb | ( | void * | data, | |
Evas_Object * | o, | |||
const char * | emission, | |||
const char * | source | |||
) |
Executed when a Session is selected.
data | - the data passed when the callback was added | |
o | - the evas object(Edje) that created the signal | |
emission | - the signal "type" that was emitted | |
source | - the signal originated from this "part" Attempt to set the Part named "entrance.time" to the results of localtime. This way the interval is configurable via a program in the theme and not statically bound to a value. |
void user_unselected_cb | ( | void * | data, | |
Evas_Object * | o, | |||
const char * | emission, | |||
const char * | source | |||
) |
Executed when a Session is unselected.
data | - the data passed when the callback was added | |
o | - the evas object(Edje) that created the signal | |
emission | - the signal "type" that was emitted | |
source | - the signal originated from this "part" Set the current EntranceFace part back to nothing |