<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 
               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="EAccount">
<refmeta>
<refentrytitle role="top_of_page" id="EAccount.top_of_page">EAccount</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>LIBEDATASERVER Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>EAccount</refname>
<refpurpose></refpurpose>
</refnamediv>

<refsynopsisdiv id="EAccount.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>
enum                <link linkend="e-account-item-t">e_account_item_t</link>;
enum                <link linkend="e-account-access-t">e_account_access_t</link>;
                    <link linkend="EAccount-struct">EAccount</link>;
                    <link linkend="EAccountIdentity">EAccountIdentity</link>;
enum                <link linkend="EAccountReceiptPolicy">EAccountReceiptPolicy</link>;
                    <link linkend="EAccountService">EAccountService</link>;
<link linkend="EAccount">EAccount</link> *          <link linkend="e-account-new">e_account_new</link>                       (void);
<link linkend="EAccount">EAccount</link> *          <link linkend="e-account-new-from-xml">e_account_new_from_xml</link>              (const <link linkend="char">char</link> *xml);
<link linkend="gboolean">gboolean</link>            <link linkend="e-account-set-from-xml">e_account_set_from_xml</link>              (<link linkend="EAccount">EAccount</link> *account,
                                                         const <link linkend="char">char</link> *xml);
<link linkend="void">void</link>                <link linkend="e-account-import">e_account_import</link>                    (<link linkend="EAccount">EAccount</link> *dest,
                                                         <link linkend="EAccount">EAccount</link> *src);
<link linkend="char">char</link> *              <link linkend="e-account-to-xml">e_account_to_xml</link>                    (<link linkend="EAccount">EAccount</link> *account);
<link linkend="char">char</link> *              <link linkend="e-account-uid-from-xml">e_account_uid_from_xml</link>              (const <link linkend="char">char</link> *xml);
const <link linkend="char">char</link> *        <link linkend="e-account-get-string">e_account_get_string</link>                (<link linkend="EAccount">EAccount</link> *,
                                                         <link linkend="e-account-item-t">e_account_item_t</link> type);
<link linkend="int">int</link>                 <link linkend="e-account-get-int">e_account_get_int</link>                   (<link linkend="EAccount">EAccount</link> *,
                                                         <link linkend="e-account-item-t">e_account_item_t</link> type);
<link linkend="gboolean">gboolean</link>            <link linkend="e-account-get-bool">e_account_get_bool</link>                  (<link linkend="EAccount">EAccount</link> *,
                                                         <link linkend="e-account-item-t">e_account_item_t</link> type);
<link linkend="void">void</link>                <link linkend="e-account-set-string">e_account_set_string</link>                (<link linkend="EAccount">EAccount</link> *,
                                                         <link linkend="e-account-item-t">e_account_item_t</link> type,
                                                         const <link linkend="char">char</link> *);
<link linkend="void">void</link>                <link linkend="e-account-set-int">e_account_set_int</link>                   (<link linkend="EAccount">EAccount</link> *,
                                                         <link linkend="e-account-item-t">e_account_item_t</link> type,
                                                         ...);
<link linkend="void">void</link>                <link linkend="e-account-set-bool">e_account_set_bool</link>                  (<link linkend="EAccount">EAccount</link> *,
                                                         <link linkend="e-account-item-t">e_account_item_t</link> type,
                                                         <link linkend="gboolean">gboolean</link> );
<link linkend="gboolean">gboolean</link>            <link linkend="e-account-writable">e_account_writable</link>                  (<link linkend="EAccount">EAccount</link> *ea,
                                                         <link linkend="e-account-item-t">e_account_item_t</link> type);
<link linkend="gboolean">gboolean</link>            <link linkend="e-account-writable-option">e_account_writable_option</link>           (<link linkend="EAccount">EAccount</link> *ea,
                                                         const <link linkend="char">char</link> *protocol,
                                                         const <link linkend="char">char</link> *option);
</synopsis>
</refsynopsisdiv>

<refsect1 id="EAccount.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----EAccount
</synopsis>
</refsect1>






<refsect1 id="EAccount.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<synopsis>
  &quot;<link linkend="EAccount-changed">changed</link>&quot;                                        : Run Last
</synopsis>
</refsect1>


<refsect1 id="EAccount.description" role="desc">
<title role="desc.title">Description</title>
<para>
</para>
</refsect1>

<refsect1 id="EAccount.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="e-account-item-t" role="enum">
<title>enum e_account_item_t</title>
<indexterm zone="e-account-item-t"><primary sortas="e_account_item_t">e_account_item_t</primary></indexterm><programlisting>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;
</programlisting>
<para>
</para></refsect2>
<refsect2 id="e-account-access-t" role="enum">
<title>enum e_account_access_t</title>
<indexterm zone="e-account-access-t"><primary sortas="e_account_access_t">e_account_access_t</primary></indexterm><programlisting>typedef enum _e_account_access_t {
	E_ACCOUNT_ACCESS_WRITE = 1&lt;&lt;0,
} e_account_access_t;
</programlisting>
<para>
</para></refsect2>
<refsect2 id="EAccount-struct" role="struct">
<title>EAccount</title>
<indexterm zone="EAccount-struct"><primary sortas="EAccount">EAccount</primary></indexterm><programlisting>typedef struct _EAccount EAccount;</programlisting>
<para>
</para></refsect2>
<refsect2 id="EAccountIdentity" role="struct">
<title>EAccountIdentity</title>
<indexterm zone="EAccountIdentity"><primary sortas="EAccountIdentity">EAccountIdentity</primary></indexterm><programlisting>typedef struct {
	char *name;
	char *address;
	char *reply_to;
	char *organization;

	char *sig_uid;
} EAccountIdentity;
</programlisting>
<para>
</para></refsect2>
<refsect2 id="EAccountReceiptPolicy" role="enum">
<title>enum EAccountReceiptPolicy</title>
<indexterm zone="EAccountReceiptPolicy"><primary sortas="EAccountReceiptPolicy">EAccountReceiptPolicy</primary></indexterm><programlisting>typedef enum _EAccountReceiptPolicy {
	E_ACCOUNT_RECEIPT_NEVER,
	E_ACCOUNT_RECEIPT_ASK,
	E_ACCOUNT_RECEIPT_ALWAYS
} EAccountReceiptPolicy;
</programlisting>
<para>
</para></refsect2>
<refsect2 id="EAccountService" role="struct">
<title>EAccountService</title>
<indexterm zone="EAccountService"><primary sortas="EAccountService">EAccountService</primary></indexterm><programlisting>typedef struct {
	char *url;
	gboolean keep_on_server;
	gboolean auto_check;
	int auto_check_time;
	gboolean save_passwd;
	gboolean get_password_canceled;
} EAccountService;
</programlisting>
<para>
</para></refsect2>
<refsect2 id="e-account-new" role="function">
<title>e_account_new ()</title>
<indexterm zone="e-account-new"><primary sortas="e_account_new">e_account_new</primary></indexterm><programlisting><link linkend="EAccount">EAccount</link> *          e_account_new                       (void);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a blank new account which can be filled in and
added to an <link linkend="EAccountList"><type>EAccountList</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="e-account-new-from-xml" role="function">
<title>e_account_new_from_xml ()</title>
<indexterm zone="e-account-new-from-xml"><primary sortas="e_account_new_from_xml">e_account_new_from_xml</primary></indexterm><programlisting><link linkend="EAccount">EAccount</link> *          e_account_new_from_xml              (const <link linkend="char">char</link> *xml);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>xml</parameter>&#160;:</term>
<listitem><simpara> an XML account description
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a new <link linkend="EAccount"><type>EAccount</type></link> based on the data in <parameter>xml</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
if <parameter>xml</parameter> could not be parsed as valid account data.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="e-account-set-from-xml" role="function">
<title>e_account_set_from_xml ()</title>
<indexterm zone="e-account-set-from-xml"><primary sortas="e_account_set_from_xml">e_account_set_from_xml</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            e_account_set_from_xml              (<link linkend="EAccount">EAccount</link> *account,
                                                         const <link linkend="char">char</link> *xml);</programlisting>
<para>
Changes <parameter>account</parameter> to match <parameter>xml</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>account</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EAccount"><type>EAccount</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>xml</parameter>&#160;:</term>
<listitem><simpara> an XML account description.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>account</parameter> was changed, <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> if <parameter>account</parameter>
already matched <parameter>xml</parameter> or <parameter>xml</parameter> could not be parsed
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="e-account-import" role="function">
<title>e_account_import ()</title>
<indexterm zone="e-account-import"><primary sortas="e_account_import">e_account_import</primary></indexterm><programlisting><link linkend="void">void</link>                e_account_import                    (<link linkend="EAccount">EAccount</link> *dest,
                                                         <link linkend="EAccount">EAccount</link> *src);</programlisting>
<para>
Import the settings from <parameter>src</parameter> to <parameter>dest</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dest</parameter>&#160;:</term>
<listitem><simpara> destination account object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>src</parameter>&#160;:</term>
<listitem><simpara> source account object
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="e-account-to-xml" role="function">
<title>e_account_to_xml ()</title>
<indexterm zone="e-account-to-xml"><primary sortas="e_account_to_xml">e_account_to_xml</primary></indexterm><programlisting><link linkend="char">char</link> *              e_account_to_xml                    (<link linkend="EAccount">EAccount</link> *account);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>account</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EAccount"><type>EAccount</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> an XML representation of <parameter>account</parameter>, which the caller
must free.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="e-account-uid-from-xml" role="function">
<title>e_account_uid_from_xml ()</title>
<indexterm zone="e-account-uid-from-xml"><primary sortas="e_account_uid_from_xml">e_account_uid_from_xml</primary></indexterm><programlisting><link linkend="char">char</link> *              e_account_uid_from_xml              (const <link linkend="char">char</link> *xml);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>xml</parameter>&#160;:</term>
<listitem><simpara> an XML account description
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the permanent UID of the account described by <parameter>xml</parameter>
(or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if <parameter>xml</parameter> could not be parsed or did not contain a uid).
The caller must free this string.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="e-account-get-string" role="function">
<title>e_account_get_string ()</title>
<indexterm zone="e-account-get-string"><primary sortas="e_account_get_string">e_account_get_string</primary></indexterm><programlisting>const <link linkend="char">char</link> *        e_account_get_string                (<link linkend="EAccount">EAccount</link> *,
                                                         <link linkend="e-account-item-t">e_account_item_t</link> type);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>Param1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="e-account-get-int" role="function">
<title>e_account_get_int ()</title>
<indexterm zone="e-account-get-int"><primary sortas="e_account_get_int">e_account_get_int</primary></indexterm><programlisting><link linkend="int">int</link>                 e_account_get_int                   (<link linkend="EAccount">EAccount</link> *,
                                                         <link linkend="e-account-item-t">e_account_item_t</link> type);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>Param1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="e-account-get-bool" role="function">
<title>e_account_get_bool ()</title>
<indexterm zone="e-account-get-bool"><primary sortas="e_account_get_bool">e_account_get_bool</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            e_account_get_bool                  (<link linkend="EAccount">EAccount</link> *,
                                                         <link linkend="e-account-item-t">e_account_item_t</link> type);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>Param1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="e-account-set-string" role="function">
<title>e_account_set_string ()</title>
<indexterm zone="e-account-set-string"><primary sortas="e_account_set_string">e_account_set_string</primary></indexterm><programlisting><link linkend="void">void</link>                e_account_set_string                (<link linkend="EAccount">EAccount</link> *,
                                                         <link linkend="e-account-item-t">e_account_item_t</link> type,
                                                         const <link linkend="char">char</link> *);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>Param1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>Param3</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="e-account-set-int" role="function">
<title>e_account_set_int ()</title>
<indexterm zone="e-account-set-int"><primary sortas="e_account_set_int">e_account_set_int</primary></indexterm><programlisting><link linkend="void">void</link>                e_account_set_int                   (<link linkend="EAccount">EAccount</link> *,
                                                         <link linkend="e-account-item-t">e_account_item_t</link> type,
                                                         ...);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>Param1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>...</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="e-account-set-bool" role="function">
<title>e_account_set_bool ()</title>
<indexterm zone="e-account-set-bool"><primary sortas="e_account_set_bool">e_account_set_bool</primary></indexterm><programlisting><link linkend="void">void</link>                e_account_set_bool                  (<link linkend="EAccount">EAccount</link> *,
                                                         <link linkend="e-account-item-t">e_account_item_t</link> type,
                                                         <link linkend="gboolean">gboolean</link> );</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>Param1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>Param3</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="e-account-writable" role="function">
<title>e_account_writable ()</title>
<indexterm zone="e-account-writable"><primary sortas="e_account_writable">e_account_writable</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            e_account_writable                  (<link linkend="EAccount">EAccount</link> *ea,
                                                         <link linkend="e-account-item-t">e_account_item_t</link> type);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>ea</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="e-account-writable-option" role="function">
<title>e_account_writable_option ()</title>
<indexterm zone="e-account-writable-option"><primary sortas="e_account_writable_option">e_account_writable_option</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            e_account_writable_option           (<link linkend="EAccount">EAccount</link> *ea,
                                                         const <link linkend="char">char</link> *protocol,
                                                         const <link linkend="char">char</link> *option);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>ea</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>protocol</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>option</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>

<refsect1 id="EAccount.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="EAccount-changed"><title>The <literal>&quot;changed&quot;</literal> signal</title>
<indexterm zone="EAccount-changed"><primary sortas="EAccount::changed">EAccount::changed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EAccount">EAccount</link> *eaccount,
                                                        <link linkend="gint">gint</link>      arg1,
                                                        <link linkend="gpointer">gpointer</link>  user_data)      : Run Last</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>eaccount</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>



</refentry>
