Subversion Repositories spk

Rev

Rev 203 | Rev 205 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 203 Rev 204
Line 3696... Line 3696...
3696
	{
3696
	{
3697
		for ( CListNode<SNeededLibrary> *dNode = p->GetNeededLibraries()->Front(); dNode; dNode = dNode->next() )
3697
		for ( CListNode<SNeededLibrary> *dNode = p->GetNeededLibraries()->Front(); dNode; dNode = dNode->next() )
3698
		{
3698
		{
3699
			if ( dNode->Data()->sName.Compare(L"<package>") )
3699
			if ( dNode->Data()->sName.Compare(L"<package>") )
3700
				continue;
3700
				continue;
3701
			if ( !this->checkInstalledDependacy(dNode->Data()->sName.toString(), dNode->Data()->sAuthor.toString(), dNode->Data()->sMinVersion, true, true))
3701
			if ( !this->checkInstalledDependacy(dNode->Data()->sName, dNode->Data()->sAuthor, dNode->Data()->sMinVersion, true, true))
3702
				return false;
3702
				return false;
3703
		}
3703
		}
3704
	}
3704
	}
3705
 
3705
 
3706
	return true;
3706
	return true;
3707
}
3707
}
3708
 
3708
 
3709
bool CPackages::checkInstalledDependacy(const Utils::WString &name, const Utils::WString &author, const Utils::String &version, bool onlyEnabled, bool includePrepared) const
3709
bool CPackages::checkInstalledDependacy(const Utils::WString &name, const Utils::WString &author, const Utils::WString &version, bool onlyEnabled, bool includePrepared) const
3710
{
3710
{
3711
	CBaseFile *p = this->findSpkPackage(name, author);
3711
	CBaseFile *p = this->findSpkPackage(name, author);
3712
	if ( p )
3712
	if ( p )
3713
	{
3713
	{
3714
		// now check version
3714
		// now check version
Line 3916... Line 3916...
3916
		{
3916
		{
3917
			SNeededLibrary *nl = node->Data();
3917
			SNeededLibrary *nl = node->Data();
3918
			if ( !checkInstalledDependacy((nl->sName.Compare(L"<package>")) ? p->name() : nl->sName, (nl->sAuthor.Compare(L"<author>")) ? p->author() : nl->sAuthor, nl->sMinVersion, (nl->sName.Compare(L"<package>")) ? false : onlyEnabled, (nl->sName.Compare(L"<package>")) ? false : includePrepared) )
3918
			if ( !checkInstalledDependacy((nl->sName.Compare(L"<package>")) ? p->name() : nl->sName, (nl->sAuthor.Compare(L"<author>")) ? p->author() : nl->sAuthor, nl->sMinVersion, (nl->sName.Compare(L"<package>")) ? false : onlyEnabled, (nl->sName.Compare(L"<package>")) ? false : includePrepared) )
3919
			{
3919
			{
3920
				if ( list )
3920
				if ( list )
3921
					list->pushBack(((nl->sName.Compare(L"<package>")) ? p->name() : nl->sName) + L"|" + nl->sMinVersion.toWString(), (nl->sAuthor.Compare(L"<author>")) ? p->author() : nl->sAuthor);
3921
					list->pushBack(((nl->sName.Compare(L"<package>")) ? p->name() : nl->sName) + L"|" + nl->sMinVersion, (nl->sAuthor.Compare(L"<author>")) ? p->author() : nl->sAuthor);
3922
				++count;
3922
				++count;
3923
			}
3923
			}
3924
		}
3924
		}
3925
	}
3925
	}
3926
 
3926
 
Line 8789... Line 8789...
8789
		p->iScriptType = ((CSpkFile *)package)->GetScriptType();
8789
		p->iScriptType = ((CSpkFile *)package)->GetScriptType();
8790
	}
8790
	}
8791
	p->sAuthor = package->author();
8791
	p->sAuthor = package->author();
8792
	p->sDesc = package->description().toWString().findReplace(L"\n", L"::newline::");
8792
	p->sDesc = package->description().toWString().findReplace(L"\n", L"::newline::");
8793
	p->sName = package->name();
8793
	p->sName = package->name();
8794
	p->sUpdated = package->creationDate().toWString();
8794
	p->sUpdated = package->creationDate();
8795
	p->sVersion = package->version().toWString();
8795
	p->sVersion = package->version();
8796
	p->sFilename = CFileIO(package->filename()).filename();
8796
	p->sFilename = CFileIO(package->filename()).filename();
8797
 
8797
 
8798
	return p;
8798
	return p;
8799
}
8799
}
8800
 
8800
 
Line 8954... Line 8954...
8954
 
8954
 
8955
	// check if a matching package is already found
8955
	// check if a matching package is already found
8956
	const CBaseFile* bf = findFoundPackage(package->sName, package->sAuthor);
8956
	const CBaseFile* bf = findFoundPackage(package->sName, package->sAuthor);
8957
	if (bf)
8957
	if (bf)
8958
	{
8958
	{
8959
		if (bf->version().toWString().compareVersion(package->sVersion) <= 0)
8959
		if (bf->version().compareVersion(package->sVersion) <= 0)
8960
			return true;		
8960
			return true;		
8961
	}
8961
	}
8962
 
8962
 
8963
	const SAvailablePackage *p = findAvailablePackage(package->sFilename);
8963
	const SAvailablePackage *p = findAvailablePackage(package->sFilename);
8964
	if(p)
8964
	if(p)