0xd34df00d
30.08.2011 22:48 Azoth_primary
Наконец запилил предупреждение о том, что какие-то еще плагины будут отключены, есличо. Например, при отключении ядра азотха:
Считать графы хорошо и приятно. Хорошо, что я в свое время инкапсулировал обсчет зависимостей в отдельный класс, так что получить разницу между списком плагинов очень просто:
PluginTreeBuilder builder;
builder.AddObjects (Plugins_);
builder.Calculate ();
QSet<QObject*> oldSet = QSet<QObject*>::fromList (builder.GetResult ());
builder.RemoveObject (loader→instance ());
builder.Calculate ();
const QSet<QObject*>& newSet = QSet<QObject*>::fromList (builder.GetResult ());
oldSet.subtract (newSet);
Годно.