Bug fix:duplicated tuners in explored array
[satune.git] / src / Tuner / searchtuner.cc
index 6b17a2a244bec5ccc2c197d98bf8138d37e1d469..b3c549a34105139a20985ae6fc788beca6311676 100644 (file)
@@ -94,6 +94,29 @@ SearchTuner::SearchTuner(const char *filename) {
        }
 }
 
+bool SearchTuner::equalUsed(SearchTuner* tuner){
+       if(tuner->usedSettings.getSize() != usedSettings.getSize()){
+               return false;
+       }
+       bool result = true;
+       SetIteratorTunableSetting *iterator = usedSettings.iterator();
+       while(iterator->hasNext()){
+               TunableSetting *setting = iterator->next();
+               if(!tuner->usedSettings.contains(setting)){
+                       result = false;
+                       break;
+               }else{
+                       TunableSetting *tunerSetting = tuner->usedSettings.get(setting);
+                       if(tunerSetting->selectedValue != setting->selectedValue){
+                               result = false;
+                               break;
+                       }
+               }
+       }
+       delete iterator;
+       return result;
+}
+
 void SearchTuner::addUsed(const char *filename) {
        ifstream myfile;
        myfile.open (filename, ios::in);