gnome-control-center/panels/user-accounts/user-utils.h
Ondrej Holy 1f71ae6046 user-accounts: Check username validity over usermod
Username policies differ across the distributions. See the discussion on:
https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/359

It is not possible to hard-code some rules here without the need for
downstream modifications. Let's check the validity of usernames dynamically
over "usermod" to prevent this.

Just be careful that this is based on undocumented usermod behavior, which
may change in the future.
2019-08-26 16:26:45 +03:00

59 lines
2.6 KiB
C

/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
*
* Copyright 2009-2010 Red Hat, Inc,
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*
* Written by: Matthias Clasen <mclasen@redhat.com>
*/
#pragma once
#include <gtk/gtk.h>
#include <act/act.h>
G_BEGIN_DECLS
void setup_tooltip_with_embedded_icon (GtkWidget *widget,
const gchar *text,
const gchar *placeholder,
GIcon *icon);
gboolean show_tooltip_now (GtkWidget *widget,
GdkEvent *event);
void set_entry_generation_icon (GtkEntry *entry);
void set_entry_validation_checkmark (GtkEntry *entry);
void set_entry_validation_error (GtkEntry *entry,
const gchar *text);
void clear_entry_validation_error (GtkEntry *entry);
gsize get_username_max_length (void);
gboolean is_username_used (const gchar *username);
gboolean is_valid_name (const gchar *name);
void is_valid_username_async (const gchar *username,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer callback_data);
gboolean is_valid_username_finish (GAsyncResult *result,
gchar **tip,
gchar **username,
GError **error);
GdkPixbuf *round_image (GdkPixbuf *pixbuf);
GdkPixbuf *generate_default_avatar (ActUser *user,
gint size);
void set_default_avatar (ActUser *user);
void set_user_icon_data (ActUser *user,
GdkPixbuf *pixbuf);
G_END_DECLS