BOOL CAlbumFolder::MountCollection(SHA1* pSHA1, CCollectionFile* pCollection, BOOL bForce) { if ( ! bForce ) { BOOL bResult = FALSE; for ( POSITION pos = GetFolderIterator() ; pos ; ) { bResult |= GetNextFolder( pos )->MountCollection( pSHA1, pCollection, bForce ); } if ( m_pSchema == NULL ) return bResult; if ( m_pSchema->GetContained( pCollection->GetThisURI() ) == NULL && m_sSchemaURI != CSchema::uriCollectionsFolder ) return bResult; } CAlbumFolder* pFolder = NULL; for ( POSITION pos = GetFolderIterator() ; pos ; ) { pFolder = GetNextFolder( pos ); if ( pFolder->m_bCollSHA1 && *pSHA1 == pFolder->m_pCollSHA1 ) break; pFolder = NULL; } if ( pFolder == NULL ) { pFolder = AddFolder( pCollection->GetThisURI(), pCollection->GetTitle() ); } pFolder->SetCollection( pSHA1, pCollection ); m_nUpdateCookie++; Library.m_nUpdateCookie++; return TRUE; }