entrance_session.c File Reference

Variables and Data relating to an instance of the application as a whole. More...


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_Sessionentrance_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_Sessionentrance_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

Detailed Description

Variables and Data relating to an instance of the application as a whole.


Function Documentation

static void _entrance_session_execute_in_shell ( char *  user,
char *  shell,
char *  session_cmd,
char *  session_name 
) [static]

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.

Parameters:
e - the entrance session you're working with

int entrance_session_auth_user ( Entrance_Session e  ) 

entrance_session_auth_user: attempt to authenticate the user

Parameters:
e - the entrance session we're trying to auth
Returns:
0 on success errors otherwise

void entrance_session_bg_object_set ( Entrance_Session e,
Evas_Object *  obj 
)

Set the edje object for the background.

Parameters:
e The Entrance Session to be modified
obj The new Edje background object

void entrance_session_ecore_evas_set ( Entrance_Session e,
Ecore_Evas *  ee 
)

entrance_session_ecore_evas_set :

Parameters:
e - the Entrance_Session to set the ecore evas for
ee - the pointer to a fully setup Ecore_Evas we want to run

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.

Parameters:
e The entrance session you want to modify
obj The new edje you're specifying

void entrance_session_free ( Entrance_Session e  ) 

entrance_session_free: free the entrance session

Parameters:
e - the Entrance_Session to free

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

Parameters:
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
Returns:
a valid Entrance_Session Also Allocates the auth, and parse the config struct

int entrance_session_pass_set ( Entrance_Session e,
const char *  pass 
)

void entrance_session_run ( Entrance_Session e  ) 

entrance_session_run: Be a login dm, start running

Parameters:
e - the Entrance_Session to be run

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

Parameters:
e The current Entrance Session

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

Parameters:
e - the currently running session

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

Parameters:
e - the entrance session you want to add the user list to

void entrance_session_user_reset ( Entrance_Session e  ) 

entrance_session_user_reset: forget what we know about the current user

Parameters:
e - the entrance session we should forget the user for

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

Parameters:
e - the currently running session

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

Parameters:
e - the entrance sesssion currently running
eu - the new entrance user we're setting as "current"

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

Parameters:
e - the entrance session you're working with

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

Parameters:
e - the entrance session you want to set the session for
exs - the Entrance_X_Session we want to be the new current

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

Parameters:
e - the entrance session you want to add the xsession list to

void session_item_selected_cb ( void *  data,
Evas_Object *  o,
const char *  emission,
const char *  source 
)

Executed when a Session is selected.

Parameters:
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.

Parameters:
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.

Parameters:
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