Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 85dff41758625c26d7c6097135c8f737 > files > 131

cone-doc-0.78-3.fc12.x86_64.rpm

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  
  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"/>

  <title>mail::account::updateNotify</title>
  <link rel="stylesheet" href="manpage.css" type="text/css"/>
  
  <link rel="start" href="index.html" title="Cone: COnsole Newsreader And Emailer"/>
  <link rel="up" href="native.html" title="mail::account Native API reference"/>
  <link rel="prev" href="mail-updatekeywords.html" title="mail::account::updateKeywords"/>
  <link rel="next" href="libmail-misc.html" title="Miscellaneous functions"/>
  <link xmlns="" rel="icon" href="icon.gif" type="image/gif"/>
  <meta xmlns="" name="MSSmartTagsPreventParsing" content="TRUE"/>
  <!--

Copyright 2002 - 2007 Double Precision, Inc.  See COPYING for distribution
information.

-->
</head>

<body>
  <div class="navheader">
    <table width="100%" summary="Navigation header">
      <tr>
        <th colspan="3" align="center" rowspan="1">
        mail::account::updateNotify</th>
      </tr>

      <tr>
        <td width="20%" align="left" rowspan="1" colspan="1">
        <a accesskey="p" href="mail-updatekeywords.html" shape="rect">Prev</a>&#160;</td>

        <th width="60%" align="center" rowspan="1" colspan="1">
        <span class="structname">mail::account</span> Native API
        reference</th>

        <td width="20%" align="right" rowspan="1" colspan="1">
        &#160;<a accesskey="n" href="libmail-misc.html" shape="rect">Next</a></td>
      </tr>
    </table>
    <hr/>
  </div>

  <div class="refentry" lang="en" xml:lang="en">
    <a id="mail-updatenotify" shape="rect" name="mail-updatenotify"> </a>

    <div class="titlepage"/>

    <div class="refnamediv">
      <h2>Name</h2>

      <p>mail::account::updateNotify &#8212; Request notification
      of folder updates</p>
    </div>

    <div class="refsynopsisdiv">
      <h2>Synopsis</h2>

      <div class="literallayout">
        <p><br clear="none"/>
        <br clear="none"/>
        <br clear="none"/>
        <br clear="none"/>
        #include&#160;&lt;libmail/mail.H&gt;<br clear="none"/>
        <br clear="none"/>
        <br clear="none"/>
        class&#160;myCallback&#160;:&#160;public&#160;mail::callback&#160;{<br clear="none"/>

        public:<br clear="none"/>
        &#160;&#160;&#160;&#160;void&#160;success(std::string&#160;msg);<br clear="none"/>

        &#160;&#160;&#160;&#160;void&#160;fail(std::string&#160;msg);<br clear="none"/>

        };<br clear="none"/></p>
      </div>

      <div class="literallayout">
        <p><br clear="none"/>
        mail::account&#160;*account;<br clear="none"/></p>
      </div>

      <div class="funcsynopsis">
        <table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
          <tr>
            <td rowspan="1" colspan="1"><code class="funcdef">account-&gt;<b class="fsfunc">updateNotify</b>(</code></td>

            <td rowspan="1" colspan="1">bool &#160;</td>

            <td rowspan="1" colspan="1"><var class="pdparam">enableDisable</var>,</td>
          </tr>

          <tr>
            <td rowspan="1" colspan="1">&#160;</td>

            <td rowspan="1" colspan="1">myCallback &amp;&#160;</td>

            <td rowspan="1" colspan="1"><var class="pdparam">callback</var><code>)</code>;</td>
          </tr>
        </table>
      </div>
    </div>

    <div class="refsect1" lang="en" xml:lang="en">
      <a id="id611456" shape="rect" name="id611456"> </a>

      <h2>USAGE</h2>

      <p>If supported by the mail server, this function requests
      that the application be notified immediately if another
      application makes any changes to the currently open folder.
      This includes:</p>

      <div class="itemizedlist">
        <ul type="disc">
          <li>
            <p>New mail delivered to the folder.</p>
          </li>

          <li>
            <p>Existing messages removed from the folder.</p>
          </li>

          <li>
            <p>Changes to the messages' flags.</p>
          </li>
        </ul>
      </div>

      <p>These events are normally reported by invoking the
      <code class="function">newMessages</code>, <code class="function">messagesRemoved</code>, and <code class="function">messageChanged</code> method of the <span class="structname">mail::callback::folder</span> object that was
      passed to <a class="link" href="folder-open.html" title="mail::folder::open" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::folder::open</span>(3x)</span></a>.</p>

      <p>These callback function normally are not generated
      immediately after the corresponding events occur. Changes to
      the folder's contents are usually checked only when the next
      request is processed; additionally many mail servers do not
      even do that, and only check for changes when the mail
      clients explicitly asks the server to check for new mail
      (<a class="link" href="mail-checknewmail.html" title="mail::account::checkNewMail" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::account::checkNewMail</span>(3x)</span></a>)
      or to update the permanent message status ( <a class="link" href="mail-removemessages.html" title="mail::account::removeMessages" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::account::removeMessages</span>(3x)</span></a>
      or <a class="link" href="mail-updatefolderindexinfo.html" title="mail::account::updateFolderIndexInfo" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::account::updateFolderIndexInfo</span>(3x)</span></a>).</p>

      <p>This method requests the server to notify the application
      immediately when another application changes the folder (the
      <em class="parameter"><code>enableDisable</code></em>
      parameter is <code class="literal">true</code>), or to stop
      notifying the application (<em class="parameter"><code>enableDisable</code></em> is false).</p>

      <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
        <h3 class="title">Note</h3>

        <p>This method only works with IMAP mail accounts on IMAP
        servers that support the IMAP IDLE extension, as described
        by <a class="ulink" href="http://www.rfc-editor.org/rfc/rfc2177.txt" target="_top" shape="rect">RFC 2177</a>. This method has no effect with
        IMAP servers that do not implement the IDLE extension, or
        other mail accounts.</p>

        <p>This method is also implemented for local mail in
        maildirs, on systems running the SGI <a class="ulink" href="http://oss.sgi.com/projects/fam/" target="_top" shape="rect">File Access Monitor</a>. This method has no effect
        on mbox mail folders, or on systems without the FAM
        daemon.</p>
      </div>

      <p>The immediate update notification mode is enabled until it
      is explicitly disabled. When the immediate update
      notification mode is in effect with an IMAP IDLE-capable
      server, any other request silently terminates the IDLE mode,
      performs the request, and reenters IDLE mode.</p>

      <p>This method is a no-op if the account does not support the
      update notification mode, and <em class="parameter"><code>callback</code></em>'s <code class="function">success</code> method is quietly invoked, without
      any further processing. When <em class="parameter"><code>enableDisable</code></em> is true, the
      <code class="function">success</code> method is invoked when
      the IMAP server acknowledges that it entered the IDLE mode,
      or when monitoring begins on the currently open maildir
      folder. When <em class="parameter"><code>enableDisable</code></em> is false, the
      <code class="function">success</code> method is invoked when
      the IMAP server acknowledges the completion of the IDLE
      command, and immediate update notification mode stops (or
      after maildor folder monitoring stops).</p>

      <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
        <h3 class="title">Note</h3>

        <p>When <em class="parameter"><code>enableDisable</code></em> is set to
        false, it is still possible that some <span class="structname">mail::callback::folder</span> callback methods
        will be invoked before <code class="function">success</code>. This occurs when the server was
        in the process of reporting folder changes just before the
        client requested the termination of immediate update
        notification.</p>
      </div>
    </div>

    <div class="refsect1" lang="en" xml:lang="en">
      <a id="id611701" shape="rect" name="id611701"> </a>

      <h2>Return Codes</h2>

      <p>The application must wait until <em class="parameter"><code>callback</code></em>'s <code class="function">success</code> or <code class="function">fail</code> method is invoked. The <code class="function">success</code> method is invoked when this request
      is succesfully processed. The <code class="function">fail</code> method is invoked if this request
      cannot be processed. The application must not destroy
      <em class="parameter"><code>callback</code></em> until either
      the <code class="function">success</code> or <code class="function">fail</code> method is invoked.</p>

      <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
        <h3 class="title">Note</h3>

        <p><em class="parameter"><code>callback</code></em>'s
        <code class="function">fail</code> method may be invoked
        even after other callback methods were invoked. This
        indicates that the request was partially completed before
        the error was encountered.</p>
      </div>
    </div>

    <div class="refsect1" lang="en" xml:lang="en">
      <a id="id611793" shape="rect" name="id611793"> </a>

      <h2>SEE ALSO</h2>

      <p><a class="link" href="mail-checknewmail.html" title="mail::account::checkNewMail" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::account::checkNewMail</span>(3x)</span></a>,
      <a class="link" href="mail-removemessages.html" title="mail::account::removeMessages" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::account::removeMessages</span>(3x)</span></a>,
      <a class="link" href="mail-updatefolderindexinfo.html" title="mail::account::updateFolderIndexInfo" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::account::updateFolderIndexInfo</span>(3x)</span></a>,
      <a class="ulink" href="http://www.rfc-editor.org/rfc/rfc2177.txt" target="_top" shape="rect">RFC 2177</a>.</p>
    </div>
  </div>

  <div class="navfooter">
    <hr/>

    <table width="100%" summary="Navigation footer">
      <tr>
        <td width="40%" align="left" rowspan="1" colspan="1">
        <a accesskey="p" href="mail-updatekeywords.html" shape="rect">Prev</a>&#160;</td>

        <td width="20%" align="center" rowspan="1" colspan="1">
        <a accesskey="u" href="native.html" shape="rect">Up</a></td>

        <td width="40%" align="right" rowspan="1" colspan="1">
        &#160;<a accesskey="n" href="libmail-misc.html" shape="rect">Next</a></td>
      </tr>

      <tr>
        <td width="40%" align="left" valign="top" rowspan="1" colspan="1">mail::account::updateKeywords&#160;</td>

        <td width="20%" align="center" rowspan="1" colspan="1">
        <a accesskey="h" href="index.html" shape="rect">Home</a>&#160;|&#160;<a accesskey="t" href="bk01-toc.html" shape="rect">ToC</a></td>

        <td width="40%" align="right" valign="top" rowspan="1" colspan="1">&#160;Miscellaneous functions</td>
      </tr>
    </table>
  </div>
</body>
</html>