<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> </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">  <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 — 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 <libmail/mail.H><br clear="none"/> <br clear="none"/> <br clear="none"/> class myCallback : public mail::callback {<br clear="none"/> public:<br clear="none"/>     void success(std::string msg);<br clear="none"/>     void fail(std::string msg);<br clear="none"/> };<br clear="none"/></p> </div> <div class="literallayout"> <p><br clear="none"/> mail::account *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-><b class="fsfunc">updateNotify</b>(</code></td> <td rowspan="1" colspan="1">bool  </td> <td rowspan="1" colspan="1"><var class="pdparam">enableDisable</var>,</td> </tr> <tr> <td rowspan="1" colspan="1"> </td> <td rowspan="1" colspan="1">myCallback & </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> </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">  <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 </td> <td width="20%" align="center" rowspan="1" colspan="1"> <a accesskey="h" href="index.html" shape="rect">Home</a> | <a accesskey="t" href="bk01-toc.html" shape="rect">ToC</a></td> <td width="40%" align="right" valign="top" rowspan="1" colspan="1"> Miscellaneous functions</td> </tr> </table> </div> </body> </html>