Sophie

Sophie

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

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::folder::renameFolder</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="libmail-folder.html" title="mail::folder Native API reference"/>
  <link rel="prev" href="folder-readsubfolders.html" title="mail::folder::readSubFolders"/>
  <link rel="next" href="folder-setrights.html" title="mail::folder::setRights"/>
  <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::folder::renameFolder</th>
      </tr>

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

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

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

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

    <div class="titlepage"/>

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

      <p>mail::folder::renameFolder &#8212; Rename a folder</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"/>
        class&#160;myFolderCallback&#160;:&#160;public&#160;mail::callback::folderlist&#160;{<br clear="none"/>

        public:<br clear="none"/>
        &#160;&#160;&#160;&#160;void&#160;success(const&#160;std::vector&lt;const&#160;mail::folder&#160;*&gt;&#160;&amp;folders);<br clear="none"/>

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

      <div class="literallayout">
        <p><br clear="none"/>
        mail::folder&#160;*folder;<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">folder-&gt;<b class="fsfunc">renameFolder</b>(</code></td>

            <td rowspan="1" colspan="1">const mail::folder
            *&#160;</td>

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

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

            <td rowspan="1" colspan="1">std::string &#160;</td>

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

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

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

            <td rowspan="1" colspan="1"><var class="pdparam">folderCallback</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="id633200" shape="rect" name="id633200"> </a>

      <h2>USAGE</h2>

      <p>This function renames an existing folder. <em class="parameter"><code>folder</code></em> is an existing folder or
      a folder directory (see <a class="link" href="folder-createsubfolder.html" title="mail::folder::createSubFolder" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::folder::createSubFolder</span>(3x)</span></a>
      for more information on folders and folder directories).
      <em class="parameter"><code>newParent</code></em>, if not
      NULL, specifies the new parent folder directory. A NULL
      <em class="parameter"><code>newParent</code></em> specifies
      that the folder should be be moved to the top level of the
      mail account's folder hierarchy.</p>

      <p><em class="parameter"><code>name</code></em> specifies the
      new name of the folder, in the application's character
      set.</p>

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

        <p>Some mail servers reserve certain characters which
        cannot be used in folder names. IMAP mail servers use a
        special character (usually "<code class="literal">/</code>"
        or "<code class="literal">.</code>") as a separator between
        names in a hierarchical folder path. The actual character
        varies from server to server. An attempt to create/rename a
        folder whose name includes a reserved character will fail.
        Different IMAP servers use different hierarchy separator
        characters. An attempt to create a folder may fail on one
        IMAP server even if another IMAP server can succesfully
        create a folder with the same name. This is, unfortunately,
        a design flaw in the IMAP protocol.</p>
      </div>

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

        <p>Maildir folders created by are compatible and can be
        read by the <a class="ulink" href="http://www.courier-mta.org" target="_top" shape="rect">Courier-IMAP</a> server. Names of maildir folders
        may contain any character, including the characters
        "<code class="literal">:</code>", "<code class="literal">/</code>", "<code class="literal">.</code>",
        "<code class="literal">~</code>", and "<code class="literal">:</code>". However, if the same folders are
        exported via IMAP, folders whose name includes these
        characters may not be readable by some IMAP clients. Even a
        <span class="application">LibMAIL</span> application may
        not be able to read one of these folders via IMAP.</p>
      </div>

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

        <p>Mbox mail folders created by <span class="application">LibMAIL</span> are mostly compatible and can
        be exported by IMAP servers that read mbox-formatted mail
        folders (with some limitations, such as that the same mbox
        folder cannot be open by <span class="application">LibMAIL</span> and another application at the
        same time). Names of mbox folders can contain any
        character, including the characters "<code class="literal">/</code>", and "<code class="literal">~</code>".
        However if mbox folders are exported via IMAP, folders
        whose name includes these characters may not be readable by
        some IMAP clients.</p>
      </div>
    </div>

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

      <h2>RETURN CODES AND CALLBACKS</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>The application must not destroy <em class="parameter"><code>folderCallback</code></em> until this
        request fails or succeeds. <em class="parameter"><code>folderCallback</code></em>'s <code class="function">success</code> method is invoked just before the
        <em class="parameter"><code>callback</code></em>'s
        <code class="function">success</code> method.</p>
      </div>

      <p>If the folder was succesfully renamed, the <code class="function">folderCallback.success</code> method receives a
      vector that contains a single pointer to a <span class="structname">mail::folder</span> object that refers to this
      folder under its new name. The existing <span class="structname">mail::folder</span> object is no longer valid,
      and should be destroyed. The new <span class="structname">mail::folder</span> object should now be used to
      refer to this folder.</p>

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

        <p><span class="structname">mail::folder</span>s are linked
        to their corresponding <span class="structname">mail::account</span>s. A <span class="structname">mail::folder</span> created by one
        <span class="structname">mail::account</span> may not be
        used with a different <span class="structname">mail::folder</span>. All <span class="structname">mail::folder</span>s created by a <span class="structname">mail::account</span> are invalidated when this
        <span class="structname">mail::account</span> object is
        destroyed. Note that the <span class="structname">mail::folder</span> objects are not
        automatically destroyed; the application is still
        responsible for destroying any remaining <span class="structname">mail::folder</span>s, after their a
        <span class="structname">mail::account</span> is
        destroyed.</p>
      </div>

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

        <p>The <code class="function">folderCallback.success</code>
        method receives a (possibly empty) vector of pointers to
        <span class="structname">mail::folder</span> objects. These
        objects will be destroyed when <code class="function">folderCallback.success</code> terminates. The
        application must use <a class="link" href="folder-clone.html" title="mail::folder::clone" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::folder::clone</span>(3x)</span></a>
        to create copies of <span class="structname">mail::folder</span> objects it wants to use
        later.</p>
      </div>

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

        <p>Both <code class="function">folderCallback.success</code> and <code class="function">myCallback.success</code> method will be invoked
        if this request succeeds. <code class="function">folderCallback.success</code> will be invoked
        before <code class="function">myCallback.success</code>
        (since by definition this indicates that the request has
        been completed).</p>
      </div>
    </div>

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

      <h2>SEE ALSO</h2>

      <p><a class="link" href="folder-clone.html" title="mail::folder::clone" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::folder::clone</span>(3x)</span></a>,
      <a class="link" href="folder-create.html" title="mail::folder::create" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::folder::create</span>(3x)</span></a>,
      <a class="link" href="folder-createsubfolder.html" title="mail::folder::createSubFolder" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::folder::createSubFolder</span>(3x)</span></a>,
      <a class="link" href="folder-destroy.html" title="mail::folder::destroy" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::folder::destroy</span>(3x)</span></a>,
      <a class="link" href="folder-readsubfolders.html" title="mail::folder::readSubFolders" shape="rect"><span class="citerefentry"><span class="refentrytitle">mail::folder::readSubFolders</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="folder-readsubfolders.html" shape="rect">Prev</a>&#160;</td>

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

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

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