/**
* Report the status of this folder.
*
* @param Horde_Kolab_Storage_Folder_Stamp $previous The previous stamp,
* if available.
*
* @return Horde_Kolab_Storage_Folder_Stamp The stamp that can be used for
* detecting folder changes.
*/
public function getStamp(Horde_Kolab_Storage_Folder_Stamp $previous = null)
{
if (empty($previous) || $previous->getToken() === false) {
$this->_logger->debug('[KOLAB_STORAGE] Fetching stamp without token.');
return $this->_driver->getStamp($this->_folder->getPath());
}
try {
$this->_logger->debug('[KOLAB_STORAGE] Fetching stamp WITH token.');
return $this->_driver->getStampFromToken($this->_folder->getPath(), $previous->getToken(), $previous->ids());
} catch (Horde_Kolab_Storage_Exception $e) {
// Possibly not supported with the current IMAP driver.
$this->_logger->debug('[KOLAB_STORAGE] Attempted to fetch stamp with token, but backend did not support.');
return $this->_driver->getStamp($this->_folder->getPath());
}
}