<?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="EDataBookView">
<refmeta>
<refentrytitle role="top_of_page">EDataBookView</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>LIBEDATA-BOOK Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>EDataBookView</refname>
<refpurpose></refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

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

<synopsis>



struct      <link linkend="EDataBookView-struct">EDataBookView</link>;
<link linkend="EDataBookView">EDataBookView</link>* <link linkend="e-data-book-view-new">e_data_book_view_new</link>         (<link linkend="EBookBackend">EBookBackend</link> *backend,
                                             <link linkend="GNOME-Evolution-Addressbook-BookViewListener">GNOME_Evolution_Addressbook_BookViewListener</link> listener,
                                             const <link linkend="char">char</link> *card_query,
                                             <link linkend="EBookBackendSExp">EBookBackendSExp</link> *card_sexp,
                                             <link linkend="int">int</link> max_results);
<link linkend="void">void</link>        <link linkend="e-data-book-view-set-thresholds">e_data_book_view_set_thresholds</link> (<link linkend="EDataBookView">EDataBookView</link> *book_view,
                                             <link linkend="int">int</link> minimum_grouping_threshold,
                                             <link linkend="int">int</link> maximum_grouping_threshold);
const <link linkend="char">char</link>* <link linkend="e-data-book-view-get-card-query">e_data_book_view_get_card_query</link> (<link linkend="EDataBookView">EDataBookView</link> *book_view);
<link linkend="EBookBackendSExp">EBookBackendSExp</link>* <link linkend="e-data-book-view-get-card-sexp">e_data_book_view_get_card_sexp</link>
                                            (<link linkend="EDataBookView">EDataBookView</link> *book_view);
<link linkend="int">int</link>         <link linkend="e-data-book-view-get-max-results">e_data_book_view_get_max_results</link>
                                            (<link linkend="EDataBookView">EDataBookView</link> *book_view);
<link linkend="EBookBackend">EBookBackend</link>* <link linkend="e-data-book-view-get-backend">e_data_book_view_get_backend</link>  (<link linkend="EDataBookView">EDataBookView</link> *book_view);
<link linkend="GNOME-Evolution-Addressbook-BookViewListener">GNOME_Evolution_Addressbook_BookViewListener</link> <link linkend="e-data-book-view-get-listener">e_data_book_view_get_listener</link>
                                            (<link linkend="EDataBookView">EDataBookView</link> *book_view);
<link linkend="GMutex">GMutex</link>*     <link linkend="e-data-book-view-get-mutex">e_data_book_view_get_mutex</link>      (<link linkend="EDataBookView">EDataBookView</link> *book_view);
<link linkend="void">void</link>        <link linkend="e-data-book-view-notify-update">e_data_book_view_notify_update</link>  (<link linkend="EDataBookView">EDataBookView</link> *book_view,
                                             <link linkend="EContact">EContact</link> *contact);
<link linkend="void">void</link>        <link linkend="e-data-book-view-notify-update-vcard">e_data_book_view_notify_update_vcard</link>
                                            (<link linkend="EDataBookView">EDataBookView</link> *book_view,
                                             <link linkend="char">char</link> *vcard);
<link linkend="void">void</link>        <link linkend="e-data-book-view-notify-update-prefiltered-vcard">e_data_book_view_notify_update_prefiltered_vcard</link>
                                            (<link linkend="EDataBookView">EDataBookView</link> *book_view,
                                             const <link linkend="char">char</link> *id,
                                             <link linkend="char">char</link> *vcard);
<link linkend="void">void</link>        <link linkend="e-data-book-view-notify-remove">e_data_book_view_notify_remove</link>  (<link linkend="EDataBookView">EDataBookView</link> *book_view,
                                             const <link linkend="char">char</link> *id);
<link linkend="void">void</link>        <link linkend="e-data-book-view-notify-complete">e_data_book_view_notify_complete</link>
                                            (<link linkend="EDataBookView">EDataBookView</link> *book_view,
                                             <link linkend="GNOME-Evolution-Addressbook-CallStatus">GNOME_Evolution_Addressbook_CallStatus</link> );
<link linkend="void">void</link>        <link linkend="e-data-book-view-notify-status-message">e_data_book_view_notify_status_message</link>
                                            (<link linkend="EDataBookView">EDataBookView</link> *book_view,
                                             const <link linkend="char">char</link> *message);


</synopsis>
</refsynopsisdiv>

<refsect1 role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<synopsis>

  <link linkend="GObject">GObject</link>
   +----<link linkend="BonoboObject">BonoboObject</link>
         +----EDataBookView
</synopsis>

</refsect1>








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

</para>
</refsect1>

<refsect1 role="details">
<title role="details.title">Details</title>
<refsect2>
<title><anchor id="EDataBookView-struct" role="struct"/>struct EDataBookView</title>
<indexterm><primary>EDataBookView</primary></indexterm><programlisting>struct EDataBookView;</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="e-data-book-view-new" role="function"/>e_data_book_view_new ()</title>
<indexterm><primary>e_data_book_view_new</primary></indexterm><programlisting><link linkend="EDataBookView">EDataBookView</link>* e_data_book_view_new         (<link linkend="EBookBackend">EBookBackend</link> *backend,
                                             <link linkend="GNOME-Evolution-Addressbook-BookViewListener">GNOME_Evolution_Addressbook_BookViewListener</link> listener,
                                             const <link linkend="char">char</link> *card_query,
                                             <link linkend="EBookBackendSExp">EBookBackendSExp</link> *card_sexp,
                                             <link linkend="int">int</link> max_results);</programlisting>
<para>
</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>backend</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EBookBackend"><type>EBookBackend</type></link> to view
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>listener</parameter>&nbsp;:</term>
<listitem><simpara> a CORBA listener to reveive notifications
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>card_query</parameter>&nbsp;:</term>
<listitem><simpara> an s-expression representing the query
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>card_sexp</parameter>&nbsp;:</term>
<listitem><simpara> 
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>max_results</parameter>&nbsp;:</term>
<listitem><simpara> the maximum number of results for the query
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> A new <link linkend="EDataBookView"><type>EDataBookView</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-data-book-view-set-thresholds" role="function"/>e_data_book_view_set_thresholds ()</title>
<indexterm><primary>e_data_book_view_set_thresholds</primary></indexterm><programlisting><link linkend="void">void</link>        e_data_book_view_set_thresholds (<link linkend="EDataBookView">EDataBookView</link> *book_view,
                                             <link linkend="int">int</link> minimum_grouping_threshold,
                                             <link linkend="int">int</link> maximum_grouping_threshold);</programlisting>
<para>
Sets the thresholds for grouping add events together
for efficiency reasons. The minimum threshold specifies
how many adds must be grouped (as long as there are
pending adds), and the maximum threshold specifies
the maximum number of adds that can be grouped.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EDataBookView"><type>EDataBookView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>minimum_grouping_threshold</parameter>&nbsp;:</term>
<listitem><simpara> the minimum threshold
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>maximum_grouping_threshold</parameter>&nbsp;:</term>
<listitem><simpara> the maximum threshold
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-data-book-view-get-card-query" role="function"/>e_data_book_view_get_card_query ()</title>
<indexterm><primary>e_data_book_view_get_card_query</primary></indexterm><programlisting>const <link linkend="char">char</link>* e_data_book_view_get_card_query (<link linkend="EDataBookView">EDataBookView</link> *book_view);</programlisting>
<para>
Gets the text representation of the s-expression used
for matching contacts to <parameter>book_view</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EDataBookView"><type>EDataBookView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The textual s-expression used.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-data-book-view-get-card-sexp" role="function"/>e_data_book_view_get_card_sexp ()</title>
<indexterm><primary>e_data_book_view_get_card_sexp</primary></indexterm><programlisting><link linkend="EBookBackendSExp">EBookBackendSExp</link>* e_data_book_view_get_card_sexp
                                            (<link linkend="EDataBookView">EDataBookView</link> *book_view);</programlisting>
<para>
Gets the s-expression used for matching contacts to
<parameter>book_view</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EDataBookView"><type>EDataBookView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The <link linkend="EBookBackendSExp"><type>EBookBackendSExp</type></link> used.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-data-book-view-get-max-results" role="function"/>e_data_book_view_get_max_results ()</title>
<indexterm><primary>e_data_book_view_get_max_results</primary></indexterm><programlisting><link linkend="int">int</link>         e_data_book_view_get_max_results
                                            (<link linkend="EDataBookView">EDataBookView</link> *book_view);</programlisting>
<para>
Gets the maximum number of results returned by
<parameter>book_view</parameter>'s query.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EDataBookView"><type>EDataBookView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The maximum number of results returned.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-data-book-view-get-backend" role="function"/>e_data_book_view_get_backend ()</title>
<indexterm><primary>e_data_book_view_get_backend</primary></indexterm><programlisting><link linkend="EBookBackend">EBookBackend</link>* e_data_book_view_get_backend  (<link linkend="EDataBookView">EDataBookView</link> *book_view);</programlisting>
<para>
Gets the backend that <parameter>book_view</parameter> is querying.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EDataBookView"><type>EDataBookView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The associated <link linkend="EBookBackend"><type>EBookBackend</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-data-book-view-get-listener" role="function"/>e_data_book_view_get_listener ()</title>
<indexterm><primary>e_data_book_view_get_listener</primary></indexterm><programlisting><link linkend="GNOME-Evolution-Addressbook-BookViewListener">GNOME_Evolution_Addressbook_BookViewListener</link> e_data_book_view_get_listener
                                            (<link linkend="EDataBookView">EDataBookView</link> *book_view);</programlisting>
<para>
Gets the CORBA listener that <parameter>book_view</parameter> is dispatching
events to.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EDataBookView"><type>EDataBookView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The CORBA book view listener.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-data-book-view-get-mutex" role="function"/>e_data_book_view_get_mutex ()</title>
<indexterm><primary>e_data_book_view_get_mutex</primary></indexterm><programlisting><link linkend="GMutex">GMutex</link>*     e_data_book_view_get_mutex      (<link linkend="EDataBookView">EDataBookView</link> *book_view);</programlisting>
<para>
Gets the internal mutex of <parameter>book_view</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EDataBookView"><type>EDataBookView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The <link linkend="GMutex"><type>GMutex</type></link> for <parameter>book_view</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-data-book-view-notify-update" role="function"/>e_data_book_view_notify_update ()</title>
<indexterm><primary>e_data_book_view_notify_update</primary></indexterm><programlisting><link linkend="void">void</link>        e_data_book_view_notify_update  (<link linkend="EDataBookView">EDataBookView</link> *book_view,
                                             <link linkend="EContact">EContact</link> *contact);</programlisting>
<para>
Notify listeners that <parameter>contact</parameter> has changed. This can
trigger an add, change or removal event depending on
whether the change causes the contact to start matching,
no longer match, or stay matching the query specified
by <parameter>book_view</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EDataBookView"><type>EDataBookView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>contact</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EContact"><type>EContact</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-data-book-view-notify-update-vcard" role="function"/>e_data_book_view_notify_update_vcard ()</title>
<indexterm><primary>e_data_book_view_notify_update_vcard</primary></indexterm><programlisting><link linkend="void">void</link>        e_data_book_view_notify_update_vcard
                                            (<link linkend="EDataBookView">EDataBookView</link> *book_view,
                                             <link linkend="char">char</link> *vcard);</programlisting>
<para>
Notify listeners that <parameter>vcard</parameter> has changed. This can
trigger an add, change or removal event depending on
whether the change causes the contact to start matching,
no longer match, or stay matching the query specified
by <parameter>book_view</parameter>.  This method should be preferred over
<link linkend="e-data-book-view-notify-update"><type>e_data_book_view_notify_update</type></link> when the native
representation of a contact is a vCard.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EDataBookView"><type>EDataBookView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>vcard</parameter>&nbsp;:</term>
<listitem><simpara> a plain vCard
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-data-book-view-notify-update-prefiltered-vcard" role="function"/>e_data_book_view_notify_update_prefiltered_vcard ()</title>
<indexterm><primary>e_data_book_view_notify_update_prefiltered_vcard</primary></indexterm><programlisting><link linkend="void">void</link>        e_data_book_view_notify_update_prefiltered_vcard
                                            (<link linkend="EDataBookView">EDataBookView</link> *book_view,
                                             const <link linkend="char">char</link> *id,
                                             <link linkend="char">char</link> *vcard);</programlisting>
<para>
Notify listeners that <parameter>vcard</parameter> has changed. This can
trigger an add, change or removal event depending on
whether the change causes the contact to start matching,
no longer match, or stay matching the query specified
by <parameter>book_view</parameter>.  This method should be preferred over
<link linkend="e-data-book-view-notify-update"><type>e_data_book_view_notify_update</type></link> when the native
representation of a contact is a vCard.
</para>
<para>
The important difference between this method and
<link linkend="e-data-book-view-notify-update"><type>e_data_book_view_notify_update</type></link> and <link linkend="e-data-book-view-notify-update-vcard"><type>e_data_book_view_notify_update_vcard</type></link> is
that it doesn't match the contact against the book view query to see if it
should be included, it assumes that this has been done and the contact is
known to exist in the view.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EDataBookView"><type>EDataBookView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>id</parameter>&nbsp;:</term>
<listitem><simpara> the UID of this contact
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>vcard</parameter>&nbsp;:</term>
<listitem><simpara> a plain vCard
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-data-book-view-notify-remove" role="function"/>e_data_book_view_notify_remove ()</title>
<indexterm><primary>e_data_book_view_notify_remove</primary></indexterm><programlisting><link linkend="void">void</link>        e_data_book_view_notify_remove  (<link linkend="EDataBookView">EDataBookView</link> *book_view,
                                             const <link linkend="char">char</link> *id);</programlisting>
<para>
Notify listeners that a contact specified by <parameter>id</parameter>
was removed from <parameter>book_view</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EDataBookView"><type>EDataBookView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>id</parameter>&nbsp;:</term>
<listitem><simpara> a unique contact ID
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-data-book-view-notify-complete" role="function"/>e_data_book_view_notify_complete ()</title>
<indexterm><primary>e_data_book_view_notify_complete</primary></indexterm><programlisting><link linkend="void">void</link>        e_data_book_view_notify_complete
                                            (<link linkend="EDataBookView">EDataBookView</link> *book_view,
                                             <link linkend="GNOME-Evolution-Addressbook-CallStatus">GNOME_Evolution_Addressbook_CallStatus</link> );</programlisting>
<para>
Notifies listeners that all pending updates on <parameter>book_view</parameter>
have been sent. The listener's information should now be
in sync with the backend's.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EDataBookView"><type>EDataBookView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>Param2</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-data-book-view-notify-status-message" role="function"/>e_data_book_view_notify_status_message ()</title>
<indexterm><primary>e_data_book_view_notify_status_message</primary></indexterm><programlisting><link linkend="void">void</link>        e_data_book_view_notify_status_message
                                            (<link linkend="EDataBookView">EDataBookView</link> *book_view,
                                             const <link linkend="char">char</link> *message);</programlisting>
<para>
Provides listeners with a human-readable text describing the
current backend operation. This can be used for progress
reporting.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EDataBookView"><type>EDataBookView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>message</parameter>&nbsp;:</term>
<listitem><simpara> a text message
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
