Beispiel #1
0
bool f_imap_mail_move(const Resource& imap_stream, const String& msglist,
                      const String& mailbox, int64_t options /* = 0 */) {
  ImapStream *obj = imap_stream.getTyped<ImapStream>();
  if (mail_copy_full(obj->m_stream, (char *)msglist.data(),
                     (char *)mailbox.data(),
                     (options ? (options | CP_MOVE) : CP_MOVE)) == T) {
    return true;
  } else {
    return false;
  }
}
  bool 
  ImapClient::copy(const std::string& aHost, 
                   const std::string& aUserName, 
                   const std::string& aPassword, 
                   const std::string& aMailboxFrom, 
                   const std::string& aMailboxTo, 
                   const std::string& aMessageNumbers, 
                   bool aUid,   
                   bool aCopy) {
    
#include "linkage.c"
    
    std::string lHost = "{" + aHost + "}" + aMailboxFrom;
    MAILSTREAM* lSource = getMailStream(aHost, aUserName, aPassword, aMailboxFrom, true); 
    long  lLongResult =  mail_copy_full(lSource,  const_cast<char*>(aMessageNumbers.c_str()),  const_cast<char*>(aMailboxTo.c_str()), (aUid ? SE_UID : NIL) | (aCopy ? NIL : CP_MOVE));
    return (lLongResult == T);
  }