## ECredentials

ECredentials

## Synopsis

    struct              ECredentials;
    #define             E_CREDENTIALS_KEY_USERNAME
    #define             E_CREDENTIALS_KEY_PASSWORD
    #define             E_CREDENTIALS_KEY_AUTH_METHOD
    #define             E_CREDENTIALS_KEY_AUTH_DOMAIN
    #define             E_CREDENTIALS_KEY_PROMPT_TITLE
    #define             E_CREDENTIALS_KEY_PROMPT_TEXT
    #define             E_CREDENTIALS_KEY_PROMPT_REASON
    #define             E_CREDENTIALS_KEY_PROMPT_KEY
    #define             E_CREDENTIALS_KEY_PROMPT_FLAGS
    #define             E_CREDENTIALS_AUTH_DOMAIN_ADDRESSBOOK
    #define             E_CREDENTIALS_AUTH_DOMAIN_CALENDAR
    #define             E_CREDENTIALS_AUTH_DOMAIN_MAIL
    enum                ECredentialsPromptFlags;
    ECredentials *      e_credentials_new                   (void);
    ECredentials *      e_credentials_new_strv              (const gchar * const *strv);
    ECredentials *      e_credentials_new_args              (const gchar *key,
                                                             ...);
    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,
                                                             ...);
    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);
    guint               e_credentials_util_string_to_prompt_flags
                                                            (const gchar *prompt_flags_string);

## Description

## Details

### struct ECredentials

    struct ECredentials {
    	ECredentialsPrivate *priv;
    };

### E_CREDENTIALS_KEY_USERNAME

    #define E_CREDENTIALS_KEY_USERNAME "username"

### E_CREDENTIALS_KEY_PASSWORD

    #define E_CREDENTIALS_KEY_PASSWORD "password"

### E_CREDENTIALS_KEY_AUTH_METHOD

    #define E_CREDENTIALS_KEY_AUTH_METHOD "auth-method"

### E_CREDENTIALS_KEY_AUTH_DOMAIN

    #define E_CREDENTIALS_KEY_AUTH_DOMAIN "auth-domain"

### E_CREDENTIALS_KEY_PROMPT_TITLE

    #define E_CREDENTIALS_KEY_PROMPT_TITLE "prompt-title"

### E_CREDENTIALS_KEY_PROMPT_TEXT

    #define E_CREDENTIALS_KEY_PROMPT_TEXT "prompt-text"

### E_CREDENTIALS_KEY_PROMPT_REASON

    #define E_CREDENTIALS_KEY_PROMPT_REASON "prompt-reason"

### E_CREDENTIALS_KEY_PROMPT_KEY

    #define E_CREDENTIALS_KEY_PROMPT_KEY "prompt-key"

### E_CREDENTIALS_KEY_PROMPT_FLAGS

    #define E_CREDENTIALS_KEY_PROMPT_FLAGS "prompt-flags"

### E_CREDENTIALS_AUTH_DOMAIN_ADDRESSBOOK

    #define E_CREDENTIALS_AUTH_DOMAIN_ADDRESSBOOK "Addressbook"

### E_CREDENTIALS_AUTH_DOMAIN_CALENDAR

    #define E_CREDENTIALS_AUTH_DOMAIN_CALENDAR "Calendar"

### E_CREDENTIALS_AUTH_DOMAIN_MAIL

    #define E_CREDENTIALS_AUTH_DOMAIN_MAIL		"Mail"

### enum ECredentialsPromptFlags

    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;

### e_credentials_new ()

    ECredentials *      e_credentials_new                   (void);

### e_credentials_new_strv ()

    ECredentials *      e_credentials_new_strv              (const gchar * const *strv);

### e_credentials_new_args ()

    ECredentials *      e_credentials_new_args              (const gchar *key,
                                                             ...);

### e_credentials_new_clone ()

    ECredentials *      e_credentials_new_clone             (const ECredentials *credentials);

### e_credentials_free ()

    void                e_credentials_free                  (ECredentials *credentials);

### e_credentials_to_strv ()

    gchar **            e_credentials_to_strv               (const ECredentials *credentials);

### e_credentials_set ()

    void                e_credentials_set                   (ECredentials *credentials,
                                                             const gchar *key,
                                                             const gchar *value);

### e_credentials_get ()

    gchar *             e_credentials_get                   (const ECredentials *credentials,
                                                             const gchar *key);

### e_credentials_peek ()

    const gchar *       e_credentials_peek                  (ECredentials *credentials,
                                                             const gchar *key);

### e_credentials_equal ()

    gboolean            e_credentials_equal                 (const ECredentials *credentials1,
                                                             const ECredentials *credentials2);

### e_credentials_equal_keys ()

    gboolean            e_credentials_equal_keys            (const ECredentials *credentials1,
                                                             const ECredentials *credentials2,
                                                             const gchar *key1,
                                                             ...);

### e_credentials_has_key ()

    gboolean            e_credentials_has_key               (const ECredentials *credentials,
                                                             const gchar *key);

### e_credentials_keys_size ()

    guint               e_credentials_keys_size             (const ECredentials *credentials);

### e_credentials_list_keys ()

    GSList *            e_credentials_list_keys             (const ECredentials *credentials);

### e_credentials_clear ()

    void                e_credentials_clear                 (ECredentials *credentials);

### e_credentials_clear_peek ()

    void                e_credentials_clear_peek            (ECredentials *credentials);

### e_credentials_util_safe_free_string ()

    void                e_credentials_util_safe_free_string (gchar *str);

### e_credentials_util_prompt_flags_to_string ()

    gchar *             e_credentials_util_prompt_flags_to_string
                                                            (guint prompt_flags);

### e_credentials_util_string_to_prompt_flags ()

    guint               e_credentials_util_string_to_prompt_flags
                                                            (const gchar *prompt_flags_string);