static void _handle_user_get_by_name ( InputUser *user) { GumUser *guser = NULL; guser = gum_user_get_by_name_sync (user->user_name, offline_mode); if (!guser) return; INFO ("User retrieved by name successfully"); _print_user_prop (guser); g_object_unref (guser); }
const gchar *user_name, gboolean delete) { uid_t uid = 0; gid_t gid = 0; gchar *home_dir = NULL; GError *error = NULL; gboolean ret = FALSE; guint umask = 022; (void) delete; g_return_val_if_fail (plugin && TLM_IS_ACCOUNT_PLUGIN_GUMD(plugin), FALSE); g_return_val_if_fail (user_name && user_name[0], FALSE); GumUser *guser = gum_user_get_by_name_sync (user_name, FALSE); if (!guser) { WARN ("Failed to cleanup user %s", user_name); return FALSE; } g_object_get (G_OBJECT (guser), "uid", &uid, "gid", &gid, "homedir", &home_dir, NULL); if (!gum_file_delete_home_dir (home_dir, &error)) { goto _finished; } if (!gum_file_create_home_dir (home_dir, uid, gid, umask, &error)) { goto _finished; }