/**
* Delete messages in the cache.
*
* @param Horde_Imap_Client_Mailbox $mailbox The mailbox.
* @param Horde_Imap_Client_Ids $ids The list of IDs to delete in
* $mailbox.
* @param array $opts Additional options (not used
* in base class).
*
* @return Horde_Imap_Client_Ids UIDs that were deleted.
* @throws Horde_Imap_Client_Exception
*/
protected function _deleteMsgs(Horde_Imap_Client_Mailbox $mailbox, Horde_Imap_Client_Ids $ids, array $opts = array())
{
if (!$this->_initCache()) {
return $ids;
}
$mbox_ob = $this->_mailboxOb();
$ids_ob = $ids->sequence ? $this->getIdsOb($mbox_ob->map->lookup($ids)) : $ids;
$this->_cache->deleteMsgs($mailbox, $ids_ob->ids);
$mbox_ob->setStatus(Horde_Imap_Client::STATUS_SYNCVANISHED, $ids_ob->ids);
$mbox_ob->map->remove($ids);
return $ids_ob;
}