/* * e-credentials.h * * Copyright (C) 2011 Red Hat, Inc. (www.redhat.com) * * This library is free software: you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation. * * This library 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 Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library. If not, see . * */ #if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION) #error "Only should be included directly." #endif #ifndef EDS_DISABLE_DEPRECATED /* Do not generate bindings. */ #ifndef __GI_SCANNER__ #ifndef E_CREDENTIALS_H #define E_CREDENTIALS_H #include G_BEGIN_DECLS typedef struct _ECredentials ECredentials; typedef struct _ECredentialsPrivate ECredentialsPrivate; /** * ECredentials: * * Contains only private data that should be read and manipulated using the * functions below. * * Since: 3.2 **/ struct _ECredentials { ECredentialsPrivate *priv; }; /** * E_CREDENTIALS_KEY_USERNAME: * * FIXME Docment me. * * Since: 3.2 **/ #define E_CREDENTIALS_KEY_USERNAME "username" /** * E_CREDENTIALS_KEY_PASSWORD: * * FIXME Document me. * * Since: 3.2 **/ #define E_CREDENTIALS_KEY_PASSWORD "password" /** * E_CREDENTIALS_KEY_AUTH_METHOD: * * FIXME Document me. * * Since: 3.2 **/ #define E_CREDENTIALS_KEY_AUTH_METHOD "auth-method" /** * E_CREDENTIALS_KEY_PROMPT_TITLE: * * FIXME Document me. * * Since: 3.2 **/ #define E_CREDENTIALS_KEY_PROMPT_TITLE "prompt-title" /** * E_CREDENTIALS_KEY_PROMPT_TEXT: * * FIXME: Document me. * * Since: 3.2 **/ #define E_CREDENTIALS_KEY_PROMPT_TEXT "prompt-text" /** * E_CREDENTIALS_KEY_PROMPT_REASON: * * FIXME: Document me. * * Since: 3.2 **/ #define E_CREDENTIALS_KEY_PROMPT_REASON "prompt-reason" /** * E_CREDENTIALS_KEY_PROMPT_KEY: * * FIXME: Document me. * * Since: 3.2 **/ #define E_CREDENTIALS_KEY_PROMPT_KEY "prompt-key" /** * E_CREDENTIALS_KEY_PROMPT_FLAGS: * * FIXME Document me. * * Since: 3.2 **/ #define E_CREDENTIALS_KEY_PROMPT_FLAGS "prompt-flags" /** * E_CREDENTIALS_KEY_FOREIGN_REQUEST: * * Set to "1" when the ECredentials is used to authenticate * other than current EClient. * * Since: 3.4 **/ #define E_CREDENTIALS_KEY_FOREIGN_REQUEST "foreign-request" /** * ECredentialsPromptFlags: * * FIXME Document me. * * Since: 3.2 **/ /* this is 1:1 with EPasswordsRememberType */ typedef enum { E_CREDENTIALS_PROMPT_FLAG_REMEMBER_NEVER, E_CREDENTIALS_PROMPT_FLAG_REMEMBER_SESSION, E_CREDENTIALS_PROMPT_FLAG_REMEMBER_FOREVER, E_CREDENTIALS_PROMPT_FLAG_REMEMBER_MASK = 0xf, E_CREDENTIALS_PROMPT_FLAG_SECRET = 1 << 8, /* whether hide password letters in the UI */ E_CREDENTIALS_PROMPT_FLAG_REPROMPT = 1 << 9, /* automatically set when username and password is provided */ E_CREDENTIALS_PROMPT_FLAG_ONLINE = 1 << 10, /* only ask if we're online */ E_CREDENTIALS_PROMPT_FLAG_DISABLE_REMEMBER = 1 << 11, /* disable the 'remember password' checkbox */ E_CREDENTIALS_PROMPT_FLAG_PASSPHRASE = 1 << 12 /* We are asking a passphrase */ } ECredentialsPromptFlags; ECredentials * e_credentials_new (void); ECredentials * e_credentials_new_strv (const gchar * const *strv); ECredentials * e_credentials_new_args (const gchar *key, ...) G_GNUC_NULL_TERMINATED; ECredentials * e_credentials_new_clone (const ECredentials *credentials); void e_credentials_free ( ECredentials *credentials); gchar ** e_credentials_to_strv (const ECredentials *credentials); void e_credentials_set ( ECredentials *credentials, const gchar *key, const gchar *value); gchar * e_credentials_get (const ECredentials *credentials, const gchar *key); const gchar * e_credentials_peek ( ECredentials *credentials, const gchar *key); gboolean e_credentials_equal (const ECredentials *credentials1, const ECredentials *credentials2); gboolean e_credentials_equal_keys (const ECredentials *credentials1, const ECredentials *credentials2, const gchar *key1, ...) G_GNUC_NULL_TERMINATED; gboolean e_credentials_has_key (const ECredentials *credentials, const gchar *key); guint e_credentials_keys_size (const ECredentials *credentials); GSList * e_credentials_list_keys (const ECredentials *credentials); void e_credentials_clear ( ECredentials *credentials); void e_credentials_clear_peek ( ECredentials *credentials); void e_credentials_util_safe_free_string (gchar *str); gchar * e_credentials_util_prompt_flags_to_string (guint prompt_flags); /* bit-or of ECredentialsPromptFlags */ guint e_credentials_util_string_to_prompt_flags (const gchar *prompt_flags_string); /* bit-or of ECredentialsPromptFlags */ G_END_DECLS #endif /* E_CREDENTIALS_H */ #endif /* __GI_SCANNER__ */ #endif /* EDS_DISABLE_DEPRECATED */