|
|
|
@ -42,178 +42,232 @@
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Interface for object that holds info about a session. Session objects are not |
|
|
|
|
* created by the theme's code, but rather by the {@link LightDM.Greeter} class. |
|
|
|
|
* created by the theme's code, but rather by the [`LightDM.Greeter`](#dl-LightDM-Greeter) class. |
|
|
|
|
* |
|
|
|
|
* @memberOf LightDM |
|
|
|
|
*/ |
|
|
|
|
class Session { |
|
|
|
|
constructor( { comment, key, name } ) { |
|
|
|
|
/** |
|
|
|
|
* The comment for the session. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.comment = comment; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The key for the session. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.key = key; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The name for the session. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.name = name; |
|
|
|
|
constructor( { comment, key, name } ) { |
|
|
|
|
this._comment = comment; |
|
|
|
|
this._key = key; |
|
|
|
|
this._name = name; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The name for the session. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get name() { |
|
|
|
|
return this._name; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The key for the session. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get key() { |
|
|
|
|
return this._key; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The comment for the session. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get comment() { |
|
|
|
|
return this._comment; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Interface for object that holds info about a language on the system. Language objects are not |
|
|
|
|
* created by the theme's code, but rather by the {@link LightDM.Greeter} class. |
|
|
|
|
* created by the theme's code, but rather by the [`LightDM.Greeter`](#dl-LightDM-Greeter) class. |
|
|
|
|
* |
|
|
|
|
* @memberOf LightDM |
|
|
|
|
*/ |
|
|
|
|
class Language { |
|
|
|
|
constructor( { code, name, territory } ) { |
|
|
|
|
/** |
|
|
|
|
* The code for the language. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.code = code; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The name for the language. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.name = name; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The territory for the language. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.territory = territory; |
|
|
|
|
constructor( { code, name, territory } ) { |
|
|
|
|
this._code = code; |
|
|
|
|
this._name = name; |
|
|
|
|
this._territory = territory; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The code for the language. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get code() { |
|
|
|
|
return this._code; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The name for the layout. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get name() { |
|
|
|
|
return this._name; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The territory for the language. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get territory() { |
|
|
|
|
return this._territory; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Interface for object that holds info about a keyboard layout on the system. Language |
|
|
|
|
* objects are not created by the theme's code, but rather by the {@link LightDM.Greeter} class. |
|
|
|
|
* objects are not created by the theme's code, but rather by the [`LightDM.Greeter`](#dl-LightDM-Greeter) class. |
|
|
|
|
* |
|
|
|
|
* @memberOf LightDM |
|
|
|
|
*/ |
|
|
|
|
class Layout { |
|
|
|
|
constructor( { description, name, short_description } ) { |
|
|
|
|
/** |
|
|
|
|
* The description for the layout. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.description = description; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The name for the layout. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.name = name; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The territory for the layout. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.short_description = short_description; |
|
|
|
|
constructor( { description, name, short_description } ) { |
|
|
|
|
this._description = description; |
|
|
|
|
this._name = name; |
|
|
|
|
this._short_description = short_description; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The description for the layout. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get description() { |
|
|
|
|
return this._description; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The name for the layout. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get name() { |
|
|
|
|
return this._name; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The territory for the layout. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get short_description() { |
|
|
|
|
return this._short_description; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Interface for object that holds info about a user account on the system. User |
|
|
|
|
* objects are not created by the theme's code, but rather by the {@link LightDM.Greeter} class. |
|
|
|
|
* objects are not created by the theme's code, but rather by the [`LightDM.Greeter`](#dl-LightDM-Greeter) class. |
|
|
|
|
* |
|
|
|
|
* @memberOf LightDM |
|
|
|
|
*/ |
|
|
|
|
class User { |
|
|
|
|
constructor( user_info ) { |
|
|
|
|
/** |
|
|
|
|
* The display name for the user. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.display_name = user_info.display_name; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The language for the user. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.language = user_info.language; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The keyboard layout for the user. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.layout = user_info.layout; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The image for the user. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.image = user_info.image; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The home_directory for the user. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.home_directory = user_info.home_directory; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The username for the user. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.username = user_info.username; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Whether or not the user is currently logged in. |
|
|
|
|
* @type {boolean} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.logged_in = user_info.logged_in; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The last session that the user logged into. |
|
|
|
|
* @type {string|null} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.session = user_info.session; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* ***Deprecated!*** See {@link LightDM.User#username}. |
|
|
|
|
* @deprecated |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.name = user_info.name; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* ***Deprecated!*** See {@link LightDM.User#display_name}. |
|
|
|
|
* @deprecated |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
this.real_name = user_info.real_name; |
|
|
|
|
Object.keys(user_info).forEach( key => { |
|
|
|
|
this[`_${key}`] = user_info[key]; |
|
|
|
|
} ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The display name for the user. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get display_name() { |
|
|
|
|
return this._display_name; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The language for the user. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get language() { |
|
|
|
|
return this._language; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The keyboard layout for the user. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get layout() { |
|
|
|
|
return this._layout; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The image for the user. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get image() { |
|
|
|
|
return this._image; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The home_directory for the user. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get home_directory() { |
|
|
|
|
return this._home_directory; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The username for the user. |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get username() { |
|
|
|
|
return this._username; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Whether or not the user is currently logged in. |
|
|
|
|
* @type {boolean} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get logged_in() { |
|
|
|
|
return this._logged_in; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The last session that the user logged into. |
|
|
|
|
* @type {string|null} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get session() { |
|
|
|
|
return this._session; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* ***Deprecated!*** See {@link LightDM.User#username}. |
|
|
|
|
* @deprecated |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get name() { |
|
|
|
|
return this._name; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* ***Deprecated!*** See {@link LightDM.User#display_name}. |
|
|
|
|
* @deprecated |
|
|
|
|
* @type {string} |
|
|
|
|
* @readonly |
|
|
|
|
*/ |
|
|
|
|
get real_name() { |
|
|
|
|
return this._real_name; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|