EAccount
3
LIBEDATASERVER Library

# EAccount

## Synopsis

    enum                e_account_item_t;
    enum                e_account_access_t;
                        EAccount;
                        EAccountIdentity;
    enum                EAccountReceiptPolicy;
                        EAccountService;
    EAccount*           e_account_new                       (void);
    EAccount*           e_account_new_from_xml              (const char *xml);
    gboolean            e_account_set_from_xml              (EAccount *account,
                                                             const char *xml);
    void                e_account_import                    (EAccount *dest,
                                                             EAccount *src);
    char*               e_account_to_xml                    (EAccount *account);
    char*               e_account_uid_from_xml              (const char *xml);
    const char*         e_account_get_string                (EAccount *,
                                                             e_account_item_t type);
    int                 e_account_get_int                   (EAccount *,
                                                             e_account_item_t type);
    gboolean            e_account_get_bool                  (EAccount *,
                                                             e_account_item_t type);
    void                e_account_set_string                (EAccount *,
                                                             e_account_item_t type,
                                                             const char *);
    void                e_account_set_int                   (EAccount *,
                                                             e_account_item_t type,
                                                             ...);
    void                e_account_set_bool                  (EAccount *,
                                                             e_account_item_t type,
                                                             gboolean );
    gboolean            e_account_writable                  (EAccount *ea,
                                                             e_account_item_t type);
    gboolean            e_account_writable_option           (EAccount *ea,
                                                             const char *protocol,
                                                             const char *option);

## Object Hierarchy

      GObject
       +----EAccount

## Signals

      "changed"                                        : Run Last

## Description

## Details

### enum e_account_item_t

    typedef enum _e_account_item_t {
    	E_ACCOUNT_NAME,

    	E_ACCOUNT_ID_NAME,
    	E_ACCOUNT_ID_ADDRESS,
    	E_ACCOUNT_ID_REPLY_TO,
    	E_ACCOUNT_ID_ORGANIZATION,
    	E_ACCOUNT_ID_SIGNATURE,

    	E_ACCOUNT_SOURCE_URL,	/* what about separating out host/user/path settings??  sigh */
    	E_ACCOUNT_SOURCE_KEEP_ON_SERVER,
    	E_ACCOUNT_SOURCE_AUTO_CHECK,
    	E_ACCOUNT_SOURCE_AUTO_CHECK_TIME,
    	E_ACCOUNT_SOURCE_SAVE_PASSWD,

    	E_ACCOUNT_TRANSPORT_URL,
    	E_ACCOUNT_TRANSPORT_SAVE_PASSWD,

    	E_ACCOUNT_DRAFTS_FOLDER_URI,
    	E_ACCOUNT_SENT_FOLDER_URI,

    	E_ACCOUNT_CC_ALWAYS,
    	E_ACCOUNT_CC_ADDRS,

    	E_ACCOUNT_BCC_ALWAYS,
    	E_ACCOUNT_BCC_ADDRS,

    	E_ACCOUNT_RECEIPT_POLICY,

    	E_ACCOUNT_PGP_KEY,
    	E_ACCOUNT_PGP_ENCRYPT_TO_SELF,
    	E_ACCOUNT_PGP_ALWAYS_SIGN,
    	E_ACCOUNT_PGP_NO_IMIP_SIGN,
    	E_ACCOUNT_PGP_ALWAYS_TRUST,

    	E_ACCOUNT_SMIME_SIGN_KEY,
    	E_ACCOUNT_SMIME_ENCRYPT_KEY,
    	E_ACCOUNT_SMIME_SIGN_DEFAULT,
    	E_ACCOUNT_SMIME_ENCRYPT_TO_SELF,
    	E_ACCOUNT_SMIME_ENCRYPT_DEFAULT,

    	E_ACCOUNT_PROXY_PARENT_UID,

    	E_ACCOUNT_ITEM_LAST
    } e_account_item_t;

### enum e_account_access_t

    typedef enum _e_account_access_t {
    	E_ACCOUNT_ACCESS_WRITE = 1<<0,
    } e_account_access_t;

### EAccount

    typedef struct _EAccount EAccount;

### EAccountIdentity

    typedef struct {
    	char *name;
    	char *address;
    	char *reply_to;
    	char *organization;

    	char *sig_uid;
    } EAccountIdentity;

### enum EAccountReceiptPolicy

    typedef enum _EAccountReceiptPolicy {
    	E_ACCOUNT_RECEIPT_NEVER,
    	E_ACCOUNT_RECEIPT_ASK,
    	E_ACCOUNT_RECEIPT_ALWAYS
    } EAccountReceiptPolicy;

### EAccountService

    typedef struct {
    	char *url;
    	gboolean keep_on_server;
    	gboolean auto_check;
    	int auto_check_time;
    	gboolean save_passwd;
    	gboolean get_password_canceled;
    } EAccountService;

### e_account_new ()

    EAccount*           e_account_new                       (void);

Returns :

  a blank new account which can be filled in and added to an EAccountList.

### e_account_new_from_xml ()

    EAccount*           e_account_new_from_xml              (const char *xml);

`xml` :

  an XML account description

Returns :

  a new EAccount based on the data in `xml`, or `NULL` if `xml` could not be parsed as valid account data.

### e_account_set_from_xml ()

    gboolean            e_account_set_from_xml              (EAccount *account,
                                                             const char *xml);

Changes `account` to match `xml`.

`account` :

  an EAccount

`xml` :

  an XML account description.

Returns :

  `TRUE` if `account` was changed, `FALSE` if `account` already matched `xml` or `xml` could not be parsed

### e_account_import ()

    void                e_account_import                    (EAccount *dest,
                                                             EAccount *src);

Import the settings from `src` to `dest`.

`dest` :

  destination account object

`src` :

  source account object

### e_account_to_xml ()

    char*               e_account_to_xml                    (EAccount *account);

`account` :

  an EAccount

Returns :

  an XML representation of `account`, which the caller must free.

### e_account_uid_from_xml ()

    char*               e_account_uid_from_xml              (const char *xml);

`xml` :

  an XML account description

Returns :

  the permanent UID of the account described by `xml` (or `NULL` if `xml` could not be parsed or did not contain a uid). The caller must free this string.

### e_account_get_string ()

    const char*         e_account_get_string                (EAccount *,
                                                             e_account_item_t type);

`Param1` :

`type` :

Returns :

### e_account_get_int ()

    int                 e_account_get_int                   (EAccount *,
                                                             e_account_item_t type);

`Param1` :

`type` :

Returns :

### e_account_get_bool ()

    gboolean            e_account_get_bool                  (EAccount *,
                                                             e_account_item_t type);

`Param1` :

`type` :

Returns :

### e_account_set_string ()

    void                e_account_set_string                (EAccount *,
                                                             e_account_item_t type,
                                                             const char *);

`Param1` :

`type` :

`Param3` :

### e_account_set_int ()

    void                e_account_set_int                   (EAccount *,
                                                             e_account_item_t type,
                                                             ...);

`Param1` :

`type` :

`...` :

### e_account_set_bool ()

    void                e_account_set_bool                  (EAccount *,
                                                             e_account_item_t type,
                                                             gboolean );

`Param1` :

`type` :

`Param3` :

### e_account_writable ()

    gboolean            e_account_writable                  (EAccount *ea,
                                                             e_account_item_t type);

`ea` :

`type` :

Returns :

### e_account_writable_option ()

    gboolean            e_account_writable_option           (EAccount *ea,
                                                             const char *protocol,
                                                             const char *option);

`ea` :

`protocol` :

`option` :

Returns :

## Signal Details

### The `"changed"` signal

    void                user_function                      (EAccount *eaccount,
                                                            gint      arg1,
                                                            gpointer  user_data)      : Run Last

`eaccount` :

  the object which received the signal.

`arg1` :

`user_data` :

  user data set when the signal handler was connected.