Sophie

Sophie

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

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::readMessageContent</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-readmsgattr.html" title="mail::account::readMessageAttributes"/>
  <link rel="next" href="mail-readmsgcontentdecoded.html" title="mail::account::readMessageContentDecoded"/>
  <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::readMessageContent</th>
      </tr>

      <tr>
        <td width="20%" align="left" rowspan="1" colspan="1">
        <a accesskey="p" href="mail-readmsgattr.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="mail-readmsgcontentdecoded.html" shape="rect">Next</a></td>
      </tr>
    </table>
    <hr/>
  </div>

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

    <div class="titlepage"/>

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

      <p>mail::account::readMessageContent &#8212; Read
      messages</p>
    </div>

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

      <div class="literallayout">
        <p><br clear="none"/>
        #include&#160;&lt;libmail/mail.H&gt;<br clear="none"/>
        #include&#160;&lt;libmail/envelope.H&gt;<br clear="none"/>
        #include&#160;&lt;libmail/structure.H&gt;<br clear="none"/>
        <br clear="none"/>
        class&#160;myCallbackMessage&#160;:&#160;public&#160;mail::callback::message&#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"/>
        &#160;&#160;&#160;&#160;void&#160;messageEnvelopeCallback(size_t&#160;messageNumber,<br clear="none"/>

        &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;const&#160;<a class="link" href="envelope.html" title="mail::envelope" shape="rect">mail::envelope</a>&#160;&amp;envelopeArg);<br clear="none"/>
        <br clear="none"/>
        &#160;&#160;&#160;&#160;void&#160;messageReferencesCallback(size_t&#160;messageNumber,<br clear="none"/>

        &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;const&#160;std::vector&lt;std::string&gt;&#160;&amp;referencesArg);<br clear="none"/>

        <br clear="none"/>
        &#160;&#160;&#160;&#160;void&#160;messageArrivalDateCallback(size_t&#160;messageNumber,<br clear="none"/>

        &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;time_t&#160;datetime);<br clear="none"/>

        <br clear="none"/>
        &#160;&#160;&#160;&#160;void&#160;messageSizeCallback(size_t&#160;messageNumber,<br clear="none"/>

        &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;unsigned&#160;long&#160;size);<br clear="none"/>

        <br clear="none"/>
        &#160;&#160;&#160;&#160;void&#160;messageStructureCallback(size_t&#160;messageNumber,<br clear="none"/>

        &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;const&#160;<a class="link" href="mimestruct.html" title="mail::mimestruct" shape="rect">mail::mimestruct</a>&#160;&amp;messageStructure);<br clear="none"/>

        &#160;&#160;&#160;&#160;void&#160;messageTextCallback(size_t&#160;messageNumber,&#160;std::string&#160;text);<br clear="none"/>

        };<br clear="none"/>
        <br clear="none"/>
        std::cout&#160;&lt;&lt;&#160;(float)myMessageCallback.messageTextCompleted&#160;/<br clear="none"/>

        &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(float)myMessageCallback.messageTextEstimatedSize&#160;*&#160;100<br clear="none"/>

        &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;&lt;&#160;"%&#160;completed."&#160;&lt;&lt;&#160;endl;<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">readMessageContent</b>(</code></td>

            <td rowspan="1" colspan="1">const
            std::vector&lt;size_t&gt; &amp;&#160;</td>

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

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

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

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

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

            <td rowspan="1" colspan="1">mail::readMode &#160;</td>

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

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

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

            <td rowspan="1" colspan="1"><var class="pdparam">callback</var><code>)</code>;</td>
          </tr>
        </table>
      </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">readMessageContent</b>(</code></td>

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

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

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

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

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

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

            <td rowspan="1" colspan="1">mail::mimestruct
            &amp;&#160;</td>

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

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

            <td rowspan="1" colspan="1">mail::readMode &#160;</td>

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

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

            <td rowspan="1" colspan="1">myCallbackMessage
            &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="id599399" shape="rect" name="id599399"> </a>

      <h2>USAGE</h2>

      <p><code class="function">mail::account::readMessagesContent</code> reads
      messages in the currently open folder. There are two
      alternative versions of this method.</p>

      <div class="itemizedlist">
        <ul type="disc">
          <li>
            <p>The first version receives a list of message
            numbers. <em class="parameter"><code>msgList</code></em> specifies a list
            of messages. Messages are numbered starting with
            message #0 and up to one less than <a class="link" href="mail-getfolderindexsize.html" title="mail::account::getFolderIndexSize" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::account::getFolderIndexSize</span>(3x)</span></a>()
            (when <code class="function">mail::account::getFolderIndexSize</code>
            returns 6, the messages are numbered 0 through 5). Only
            the messages that appear in <em class="parameter"><code>msgList</code></em> are processed by
            this request. This version is capable of returning
            headers and/or content of multiple messages.</p>
          </li>

          <li>
            <p>The second version receives a single message number,
            and a <a class="link" href="mimestruct.html" title="mail::mimestruct" shape="rect"><span class="structname">mail::mimestruct</span></a> object that
            refers to a single MIME attachment or a section of this
            message. The <em class="parameter"><code>mail::account::MIMESTRUCTURE</code></em>
            argument to <a class="link" href="mail-readmsgattr.html" title="mail::account::readMessageAttributes" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::account::readMessageAttributes</span>(3x)</span></a>
            returns a recursive tree of <span class="structname">mail::mimestruct</span> objects which
            enumerates the individual MIME sections in the message.
            <em class="parameter"><code>msgInfo</code></em> must be
            a reference to one of these objects (or to a copy of
            these objects).</p>
          </li>
        </ul>
      </div>

      <p>Setting <em class="parameter"><code>peek</code></em> to
      true does not reset the <em class="structfield"><code>unread</code></em> message status flag
      for this message. Otherwise the <em class="structfield"><code>unread</code></em> message status flag
      will be reset.</p>

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

        <p>The application is notified about when a message's
        status changes by by invoking the <code class="function">messageChanged</code> callback method of the
        currently opened folder's <span class="structname">mail::folderCallback</span> object. Depending
        on the mail server, the <code class="function">messageChanged</code> method may be invoked as
        part of processing this request, or some time later after
        this request is completed, and <em class="parameter"><code>callback</code></em>'s <code class="function">success</code> method was invoked.</p>
      </div>

      <p>The <code class="function">mail::callback::message::messageTextCallback</code>
      method receives the requested content, which is determined by
      the remaining parameters.</p>

      <p><em class="parameter"><code>requestType</code></em>
      identifies the type of information to return from the
      selected MIME section, and must be set to one of the
      following values:</p>

      <div class="variablelist">
        <p>The callback method may not receive the entire requested
        content at once. Typically the method will be invoked
        multiple times; each time the method receives the next
        portion of the requested content. When requesting headers
        and/or content of multiple messages, they may be returned
        in any order, and the <em class="parameter"><code>messageNumber</code></em> parameter
        indicates which message's contents are being returned
        (note, however, that the entire contents of a given message
        are returned in their entirety, even when the callback
        method gets invoked multiple times for that message, before
        content from the next message are returned).</p>

        <dl>
          <dt><span class="term"><code class="literal">mail::readHeadersFolded</code></span></dt>

          <dd>
            <p>Return only the headers of the MIME section. Folded
            headers are unfolded (the newline and the leading space
            on the next line are replaced with a single space
            character).</p>
          </dd>

          <dt><span class="term"><code class="literal">mail::readHeaders</code></span></dt>

          <dd>
            <p>Return only the headers of the MIME section. The
            headers are returned as-is, without unfolding them.</p>
          </dd>

          <dt><span class="term"><code class="literal">mail::readContents</code></span></dt>

          <dd>
            <p>Return the content of the MIME section.</p>

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

              <p>The MIME section is not decoded. Check the
              <code class="literal">Content-Transfer-Encoding</code> header to
              know what you're getting.</p>
            </div>
          </dd>

          <dt><span class="term"><code class="literal">mail::readBoth</code></span></dt>

          <dd>
            <p>Return the entire MIME section, as is: its headers,
            a blank line, then the contents.</p>
          </dd>
        </dl>
      </div>
    </div>

    <div class="refsect1" lang="en" xml:lang="en">
      <a id="id599683" shape="rect" name="id599683"> </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 class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
        <h3 class="title">Note</h3>

        <p>Multiple applications may have the same account and
        folder opened at the same time. It is possible that a
        message referenced by this request was already deleted by
        another application. Depending on the underlying server
        implementation this will result in either a failed request,
        invoking <code class="function">callback.fail</code>, or
        the request completing (<code class="function">callback.success</code> invoked) but without
        invoking any callback function that refer to the
        message.</p>
      </div>
    </div>

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

      <h2>SEE ALSO</h2>

      <p><a class="link" href="mail-getfolderindexsize.html" title="mail::account::getFolderIndexSize" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::account::getFolderIndexSize</span>(3x)</span></a>,
      <a class="link" href="mail-readmsgattr.html" title="mail::account::readMessageAttributes" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::account::readMessageAttributes</span>(3x)</span></a>,
      <a class="link" href="mail-readmsgcontentdecoded.html" title="mail::account::readMessageContentDecoded" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::account::readMessageContentDecoded</span>(3x)</span></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-readmsgattr.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="mail-readmsgcontentdecoded.html" shape="rect">Next</a></td>
      </tr>

      <tr>
        <td width="40%" align="left" valign="top" rowspan="1" colspan="1">mail::account::readMessageAttributes&#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;mail::account::readMessageContentDecoded</td>
      </tr>
    </table>
  </div>
</body>
</html>