## cryptui

cryptui

## Synopsis

    enum                CryptUIEncType;
    enum                CryptUIKeyFlags;
    enum                CryptUILocation;
    enum                CryptUIValidity;
    gchar*              cryptui_key_get_base                (const gchar *key);
    CryptUIEncType      cryptui_key_get_enctype             (const gchar *key);
    void                cryptui_display_notification        (const gchar *title,
                                                             const gchar *body,
                                                             const gchar *icon,
                                                             gboolean urgent);
    gchar**             cryptui_prompt_recipients           (CryptUIKeyset *keyset,
                                                             const gchar *title,
                                                             gchar **signer);
    gchar*              cryptui_prompt_signer               (CryptUIKeyset *keyset,
                                                             const gchar *title);
    void                cryptui_need_to_get_keys            ();

## Description

## Details

### enum CryptUIEncType

    typedef enum {
        CRYPTUI_ENCTYPE_NONE =       0,
        CRYPTUI_ENCTYPE_SYMMETRIC =  1,
        CRYPTUI_ENCTYPE_PUBLIC =     2,
        CRYPTUI_ENCTYPE_PRIVATE =    3,

        /* Used internally */
        _CRYPTUI_ENCTYPE_MAXVALUE
    } CryptUIEncType;

### enum CryptUIKeyFlags

    typedef enum {
        CRYPTUI_FLAG_IS_VALID =    0x00000001,
        CRYPTUI_FLAG_CAN_ENCRYPT = 0x00000002,
        CRYPTUI_FLAG_CAN_SIGN =    0x00000004,
        CRYPTUI_FLAG_EXPIRED =     0x00000100,
        CRYPTUI_FLAG_REVOKED =     0x00000200,
        CRYPTUI_FLAG_DISABLED =    0x00000400,
        CRYPTUI_FLAG_TRUSTED =     0x00001000,
        CRYPTUI_FLAG_EXPORTABLE =  0x00100000
    } CryptUIKeyFlags;

### enum CryptUILocation

    typedef enum {
        CRYPTUI_LOC_INVALID =        0,    /* An invalid key */
        CRYPTUI_LOC_MISSING =       10,    /* A key we don't know anything about */
        CRYPTUI_LOC_SEARCHING =     20,    /* A key we're searching for but haven't found yet */
        CRYPTUI_LOC_REMOTE =        50,    /* A key that we've found is present remotely */
        CRYPTUI_LOC_LOCAL =        100,    /* A key on the local machine */
    } CryptUILocation;

### enum CryptUIValidity

    typedef enum {
        CRYPTUI_VALIDITY_REVOKED =   -3,
        CRYPTUI_VALIDITY_DISABLED =  -2,
        CRYPTUI_VALIDITY_NEVER =     -1,
        CRYPTUI_VALIDITY_UNKNOWN =    0,
        CRYPTUI_VALIDITY_MARGINAL =   1,
        CRYPTUI_VALIDITY_FULL =       5,
        CRYPTUI_VALIDITY_ULTIMATE =  10
    } CryptUIValidity;

### cryptui_key_get_base ()

    gchar*              cryptui_key_get_base                (const gchar *key);

This function is a utility function to get the part of the key that preceeds the colon.

`key` : | key for use with libcryptui
Returns : | the key base

### cryptui_key_get_enctype ()

    CryptUIEncType      cryptui_key_get_enctype             (const gchar *key);

`key` : |
Returns : |

### cryptui_display_notification ()

    void                cryptui_display_notification        (const gchar *title,
                                                             const gchar *body,
                                                             const gchar *icon,
                                                             gboolean urgent);

This function creates a notification bubble that can be updated as additional key details are discovered. See http://live.gnome.org/Seahorse/DBus for a description of the markup syntax.

`title` : | Headline for the notification
`body` : | Text for the body of the notification
`icon` : | Full path to icon to be included
`urgent` : | Whether the notification is urgent or not.

### cryptui_prompt_recipients ()

    gchar**             cryptui_prompt_recipients           (CryptUIKeyset *keyset,
                                                             const gchar *title,
                                                             gchar **signer);

This function prompts the user to select one or more keys from the keyset to use to encrypt to. It also allows the user to select a private key from the keyset to sign with.

`keyset` : | CryptUIKeyset to select keys to present to the user from
`title` : | Window title for presented GtkWindow
`signer` : | Variable in which to store the key of the signer if one is selected
Returns : | the selected key

### cryptui_prompt_signer ()

    gchar*              cryptui_prompt_signer               (CryptUIKeyset *keyset,
                                                             const gchar *title);

This function prompts the user to select a private key from the keyset to use to sign something.

`keyset` : | CryptUIKeyset to select keys to present to the user from
`title` : | Window title for presented GtkWindow
Returns : | the selected key

### cryptui_need_to_get_keys ()

    void                cryptui_need_to_get_keys            ();

This function is called when seahorse needs to be launched to generate a key or keys or import a key or keys to perform the requested operation.

Returns : | void