本文整理汇总了C++中CDirectoryCache::GetChangeTime方法的典型用法代码示例。如果您正苦于以下问题:C++ CDirectoryCache::GetChangeTime方法的具体用法?C++ CDirectoryCache::GetChangeTime怎么用?C++ CDirectoryCache::GetChangeTime使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CDirectoryCache
的用法示例。
在下文中一共展示了CDirectoryCache::GetChangeTime方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SendDirectoryListingNotification
void CFileZillaEnginePrivate::SendDirectoryListingNotification(const CServerPath& path, bool onList, bool modified, bool failed)
{
wxASSERT(m_pControlSocket);
const CServer* const pOwnServer = m_pControlSocket->GetCurrentServer();
wxASSERT(pOwnServer);
m_lastListDir = path;
if (failed)
{
CDirectoryListingNotification *pNotification = new CDirectoryListingNotification(path, false, true);
AddNotification(pNotification);
m_lastListTime = CTimeEx::Now();
// On failed messages, we don't notify other engines
return;
}
const CDirectoryCache cache;
CTimeEx changeTime;
if (!cache.GetChangeTime(changeTime, *pOwnServer, path))
return;
CDirectoryListingNotification *pNotification = new CDirectoryListingNotification(path, !onList);
AddNotification(pNotification);
m_lastListTime = changeTime;
if (!modified)
return;
// Iterate over the other engine, send notification if last listing
// directory is the same
for (std::list<CFileZillaEnginePrivate*>::iterator iter = m_engineList.begin(); iter != m_engineList.end(); iter++)
{
CFileZillaEnginePrivate* const pEngine = *iter;
if (!pEngine->m_pControlSocket || pEngine->m_pControlSocket == m_pControlSocket)
continue;
const CServer* const pServer = pEngine->m_pControlSocket->GetCurrentServer();
if (!pServer || *pServer != *pOwnServer)
continue;
if (pEngine->m_lastListDir != path)
continue;
if (pEngine->m_lastListTime.GetTime().IsValid() && changeTime <= pEngine->m_lastListTime)
continue;
pEngine->m_lastListTime = changeTime;
CDirectoryListingNotification *pNotification = new CDirectoryListingNotification(path, true);
pEngine->AddNotification(pNotification);
}
}