mail::account::copyMessagesTo — Move messages to another folder
        
        
        #include <libmail/mail.H>
        
        
        class myCallback : public mail::callback {
        public:
            void success(std::string msg);
            void fail(std::string msg);
        };
| account->moveMessagesTo( | const std::vector<size_t> &msgList, | 
| mail::folder *copyTo, | |
| myCallback &callback ); | 
mail::account::moveMessagesTo moves
      messages from the currently-open folder to another folder.
      msgList specifies a
      list of messages. Messages are numbered starting with message
      #0 and up to one less than mail::account::getFolderIndexSize(3x)()
      (when mail::account::getFolderIndexSize returns
      6, the messages are numbered 0 through 5). Only the messages
      that appear in msgList are processed by this
      request.
This is similar to mail::account::copyMessagesTo(3x),
      except that the messages are removed from the original
      folder. The application can expect that the mail::account::messagesRemoved function in
      the currently opened folder's mail::callback::folder object will be
      invoked one or more times, as necessary, to reflect the
      removal of the listed messages from the currently open
      folder.
copyTo is a
      pointer to a mail::folder
      object, representing the folder where messages are moved to.
      copyTo may be a
      folder in another mail account, in which case this function
      transparently copies the indicated messages using mail::account::removeMessages(3x).
      Only SMAP and maildir-based mail accounts can
      move messages directly between folders; for all other
      accounts the copy/delete implementation will be used
      automatically.
The application must wait until callback's success or fail method is invoked. The success method is invoked when this request
      is succesfully processed. The fail method is invoked if this request
      cannot be processed. The application must not destroy
      callback until either
      the success or fail method is invoked.
callback's
        fail method may be invoked
        even after other callback methods were invoked. This
        indicates that the request was partially completed before
        the error was encountered.
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 callback.fail, or
        the request completing (callback.success invoked) but without
        invoking any callback function that refer to the
        message.
If this request is interrupted, for some reason, it is possible that some or all messages have already been copied to the destination folder, but not yet removed from the original folder.