static GTlsInteractionResult g_tls_console_interaction_ask_password (GTlsInteraction *interaction, GTlsPassword *password, GCancellable *cancellable, GError **error) { const gchar *value; gchar *prompt; prompt = g_strdup_printf ("Password \"%s\"': ", g_tls_password_get_description (password)); value = getpass (prompt); g_free (prompt); if (g_cancellable_set_error_if_cancelled (cancellable, error)) return G_TLS_INTERACTION_FAILED; g_tls_password_set_value (password, (guchar *)value, -1); return G_TLS_INTERACTION_HANDLED; }
static void g_tls_password_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GTlsPassword *password = G_TLS_PASSWORD (object); switch (prop_id) { case PROP_FLAGS: g_value_set_flags (value, g_tls_password_get_flags (password)); break; case PROP_WARNING: g_value_set_string (value, g_tls_password_get_warning (password)); break; case PROP_DESCRIPTION: g_value_set_string (value, g_tls_password_get_description (password)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }