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

<refnamediv>
<refname>EBookView</refname>
<refpurpose>Represents a search against an <link linkend="EBook"><type>EBook</type></link>.</refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

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

<synopsis>



                    <link linkend="EBookView-struct">EBookView</link>;
<link linkend="EBookView">EBookView</link>*          <link linkend="e-book-view-new">e_book_view_new</link>                     (<link linkend="GNOME-Evolution-Addressbook-BookView">GNOME_Evolution_Addressbook_BookView</link> corba_book_view,
                                                         <link linkend="EBookViewListener">EBookViewListener</link> *listener);
<link linkend="void">void</link>                <link linkend="e-book-view-set-book">e_book_view_set_book</link>                (<link linkend="EBookView">EBookView</link> *book_view,
                                                         <link linkend="struct--EBook">struct _EBook</link> *book);
<link linkend="void">void</link>                <link linkend="e-book-view-start">e_book_view_start</link>                   (<link linkend="EBookView">EBookView</link> *book_view);
<link linkend="void">void</link>                <link linkend="e-book-view-stop">e_book_view_stop</link>                    (<link linkend="EBookView">EBookView</link> *book_view);


</synopsis>
</refsynopsisdiv>

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

  <link linkend="GObject">GObject</link>
   +----EBookView
</synopsis>

</refsect1>






<refsect1 role="signal_proto">
<title role="signal_proto.title">Signals</title>
<synopsis>

  &quot;<link linkend="EBookView-contacts-added">contacts-added</link>&quot;                                 : Run Last
  &quot;<link linkend="EBookView-contacts-changed">contacts-changed</link>&quot;                               : Run Last
  &quot;<link linkend="EBookView-contacts-removed">contacts-removed</link>&quot;                               : Run Last
  &quot;<link linkend="EBookView-sequence-complete">sequence-complete</link>&quot;                              : Run Last
  &quot;<link linkend="EBookView-status-message">status-message</link>&quot;                                 : Run Last
</synopsis>
</refsect1>


<refsect1 role="desc">
<title role="desc.title">Description</title>
<para>
Event notifications and callbacks from <link linkend="EBookView"><type>EBookView</type></link> go to the
<link linkend="EBookViewListener"><type>EBookViewListener</type></link>. Contrast <link linkend="EBookView"><type>EBookView</type></link> with <link linkend="EBook"><type>EBook</type></link>, which represents the
addressbook itself.
</para>
</refsect1>

<refsect1 role="details">
<title role="details.title">Details</title>
<refsect2>
<title><anchor id="EBookView-struct" role="struct"/>EBookView</title>
<indexterm><primary>EBookView</primary></indexterm><programlisting>typedef struct _EBookView EBookView;</programlisting>
<para>
<link linkend="EBookView"><type>EBookView</type></link> has no publicly available members.
</para></refsect2>
<refsect2>
<title><anchor id="e-book-view-new" role="function"/>e_book_view_new ()</title>
<indexterm><primary>e_book_view_new</primary></indexterm><programlisting><link linkend="EBookView">EBookView</link>*          e_book_view_new                     (<link linkend="GNOME-Evolution-Addressbook-BookView">GNOME_Evolution_Addressbook_BookView</link> corba_book_view,
                                                         <link linkend="EBookViewListener">EBookViewListener</link> *listener);</programlisting>
<para>
Creates a new <link linkend="EBookView"><type>EBookView</type></link> based on <parameter>corba_book_view</parameter> and listening to
<parameter>listener</parameter>.  This is a private function, applications should call
<link linkend="e-book-get-book-view"><type>e_book_get_book_view</type></link> or <link linkend="e-book-async-get-book-view"><type>e_book_async_get_book_view</type></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>corba_book_view</parameter>&nbsp;:</term>
<listitem><simpara> a CORBA BookView object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>listener</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EBookViewListener"><type>EBookViewListener</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> A new <link linkend="EBookView"><type>EBookView</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-book-view-set-book" role="function"/>e_book_view_set_book ()</title>
<indexterm><primary>e_book_view_set_book</primary></indexterm><programlisting><link linkend="void">void</link>                e_book_view_set_book                (<link linkend="EBookView">EBookView</link> *book_view,
                                                         <link linkend="struct--EBook">struct _EBook</link> *book);</programlisting>
<para>
Makes <parameter>book_view</parameter> listen to changes in <parameter>book</parameter>. This function apparently
has no effect for the time being.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EBookView"><type>EBookView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>book</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EBook"><type>EBook</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-book-view-start" role="function"/>e_book_view_start ()</title>
<indexterm><primary>e_book_view_start</primary></indexterm><programlisting><link linkend="void">void</link>                e_book_view_start                   (<link linkend="EBookView">EBookView</link> *book_view);</programlisting>
<para>
Tells <parameter>book_view</parameter> to start processing events.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>book_view</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="EBookView"><type>EBookView</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-book-view-stop" role="function"/>e_book_view_stop ()</title>
<indexterm><primary>e_book_view_stop</primary></indexterm><programlisting><link linkend="void">void</link>                e_book_view_stop                    (<link linkend="EBookView">EBookView</link> *book_view);</programlisting>
<para>
Tells <parameter>book_view</parameter> to stop processing events.</para>
<para>

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

</refsect1>

<refsect1 role="signals">
<title role="signals.title">Signal Details</title>
<refsect2><title><anchor id="EBookView-contacts-added"/>The &quot;contacts-added&quot; signal</title>
<indexterm><primary>EBookView::contacts-added</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EBookView">EBookView</link> *ebookview,
                                                        <link linkend="gpointer">gpointer</link>   arg1,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
Fired when more contacts are found.  Each contact in the list will be unref'd
when done, and the list freed, so simply reference any contacts you want to
keep.
</para><variablelist role="params">
<varlistentry><term><parameter>ebookview</parameter>&nbsp;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
<listitem><simpara>a <link linkend="GList"><type>GList</type></link> of <link linkend="EContact"><type>EContact</type></link> objects that were added to the view

</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2><title><anchor id="EBookView-contacts-changed"/>The &quot;contacts-changed&quot; signal</title>
<indexterm><primary>EBookView::contacts-changed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EBookView">EBookView</link> *ebookview,
                                                        <link linkend="gpointer">gpointer</link>   arg1,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
Fired when contacts are changed.  Each contact in the list will be unref'd
when done, and the list freed, so simply reference any contacts you want to
keep.
</para><variablelist role="params">
<varlistentry><term><parameter>ebookview</parameter>&nbsp;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
<listitem><simpara>a <link linkend="GList"><type>GList</type></link> of <link linkend="EContact"><type>EContact</type></link> objects that were modified

</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2><title><anchor id="EBookView-contacts-removed"/>The &quot;contacts-removed&quot; signal</title>
<indexterm><primary>EBookView::contacts-removed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EBookView">EBookView</link> *ebookview,
                                                        <link linkend="gpointer">gpointer</link>   arg1,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
Fired when contacts are removed from the view.  The IDs and the list will be
freed, so copy any IDs you want to keep.
</para><variablelist role="params">
<varlistentry><term><parameter>ebookview</parameter>&nbsp;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
<listitem><simpara>a <link linkend="GList"><type>GList</type></link> of contact IDs (char*) that were removed from the view

</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2><title><anchor id="EBookView-sequence-complete"/>The &quot;sequence-complete&quot; signal</title>
<indexterm><primary>EBookView::sequence-complete</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EBookView">EBookView</link> *ebookview,
                                                        <link linkend="gint">gint</link>       arg1,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
Fired when there are currently no more contacts to send.  This is fired once
after the initial set of <link linkend="contacts-added"><type>contacts-added</type></link> signals, and after every future change.
</para><variablelist role="params">
<varlistentry><term><parameter>ebookview</parameter>&nbsp;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
<listitem><simpara>an <link linkend="EBookViewStatus"><type>EBookViewStatus</type></link>

</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2><title><anchor id="EBookView-status-message"/>The &quot;status-message&quot; signal</title>
<indexterm><primary>EBookView::status-message</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EBookView">EBookView</link> *ebookview,
                                                        <link linkend="gchar">gchar</link>     *arg1,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
Fired with a status message reporting the progress of the view.
</para><variablelist role="params">
<varlistentry><term><parameter>ebookview</parameter>&nbsp;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
<listitem><simpara>a const char* message

</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>


<refsect1>
<title>See Also</title>
<para>
<link linkend="EBookViewListener"><type>EBookViewListener</type></link>, <link linkend="EBook"><type>EBook</type></link>.
</para>
</refsect1>

</refentry>
