コード例 #1
0
//--------------------------------------------------------------------------//
//	CRUCache::UpdateForceOptionForMV()
//--------------------------------------------------------------------------//
void CRUCache::UpdateForceOptionForMV(CRUForceOptions& forceOptions,
									  CRUMV *pMV)
{
	CRUMVForceOptionsList& mvForceOptionsList =
		forceOptions.GetMVForceOptionsList();

	DSListPosition prevpos = NULL;
	DSListPosition pos = mvForceOptionsList.GetHeadPosition();
	while (NULL != pos)
	{
		prevpos = pos;
		CRUMVForceOptions *pMVForceOptions = mvForceOptionsList.GetNext(pos);
		if (pMV->GetFullName() == pMVForceOptions->GetMVName())
		{
			pMV->SetMVForceOption(pMVForceOptions);
			if (NULL == prevpos)
			{
				mvForceOptionsList.RemoveHead();
			}
			else
			{
				mvForceOptionsList.RemoveAt(prevpos);
			}
			return;
		}
	}
}
コード例 #2
0
BOOL CRUForceOptions::IsMVExist(const CDSString& mvName) const
{
	DSListPosition pos = mvsList_.GetHeadPosition();
	while (NULL != pos) 
	{
		CRUMVForceOptions* aMV = mvsList_.GetNext(pos);
		if (mvName == aMV->GetMVName())
		{
			return TRUE;
		}
	}
	return FALSE;
}