### Class

# Malcontent UserManager

since: 0.14.0

#### Description [src]

    final class Malcontent.UserManager : GObject.Object
    {
      /* No available fields */
    }

Gives access to the system user database.

Before it can be used, the user data needs to be loaded by calling `mct_user_manager_load_async()`. After then, changes to the user database are signalled using `MctUserManager::user-added` and `MctUserManager::user-removed`. Changes to the properties of individual users are signalled using `GObject::notify` on the user objects.

As well as exposing the (non-system) users in the database, the user manager can describe family relationships between the users. Currently, there is only one family supported on the system, containing all the normal and administrator user accounts. In the future, this may extend to supporting more families, with more roles for members within a family.

Available since: 0.14.0

#### Ancestors

- GObject

#### Constructors

###### mct_user_manager_new

Create a new user manager.

since: 0.14.0

#### Instance methods

###### mct_user_manager_get_all_users_async

Get all the non-system users on the system.

since: 0.14.0

###### mct_user_manager_get_all_users_finish

Finish an asynchronous query operation started with `mct_user_manager_get_all_users_async()`.

since: 0.14.0

###### mct_user_manager_get_family_members_for_user_async

Get the members of the family containing `user`.

since: 0.14.0

###### mct_user_manager_get_family_members_for_user_finish

Finish an asynchronous query operation started with `mct_user_manager_get_family_members_for_user_async()`.

since: 0.14.0

###### mct_user_manager_get_is_loaded

Get the value of `MctUserManager:is-loaded`.

since: 0.14.0

###### mct_user_manager_get_user_by_uid_async

Get the user with the given `uid`.

since: 0.14.0

###### mct_user_manager_get_user_by_uid_finish

Finish an asynchronous query operation started with `mct_user_manager_get_user_by_uid_async()`.

since: 0.14.0

###### mct_user_manager_get_user_by_username_async

Get the user with the given `username`.

since: 0.14.0

###### mct_user_manager_get_user_by_username_finish

Finish an asynchronous query operation started with `mct_user_manager_get_user_by_username_async()`.

since: 0.14.0

###### mct_user_manager_load_async

Load the user data from the system.

since: 0.14.0

###### mct_user_manager_load_finish

Finish an asynchronous load operation started with `mct_user_manager_load_async()`.

since: 0.14.0

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### Malcontent.UserManager:connection

A connection to the system bus, where accounts-service runs.

since: 0.14.0

###### Malcontent.UserManager:is-loaded

Whether the user manager has finished loading yet.

since: 0.14.0

#### Signals

###### Malcontent.UserManager::user-added

Emitted when a new user is added on the system.

since: 0.14.0

###### Malcontent.UserManager::user-removed

Emitted when a user is removed from the system.

since: 0.14.0

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct MalcontentUserManagerClass {
      GObjectClass parent_class;

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.