diff --git a/src/core/identification_sources/identificationdatasource.cpp b/src/core/identification_sources/identificationdatasource.cpp index d3ac590833ffbb0c432fb712a4021d235204edd7..afb025013b152689cc652e1a62f5914dcce810f9 100644 --- a/src/core/identification_sources/identificationdatasource.cpp +++ b/src/core/identification_sources/identificationdatasource.cpp @@ -44,9 +44,22 @@ bool IdentificationDataSource::operator==(const IdentificationDataSource& other) } -IdentificationDataSourceSp IdentificationDataSource::getInstance(const QString & location) { - QFileInfo location_file(location); - QString ext = location_file.suffix(); +IdentificationDataSource * IdentificationDataSource::getInstance(const QString & location) { + + std::map< QString, IdentificationDataSource* >::iterator it = _map_identification_data_sources.find(location); + if (it != _map_identification_data_sources.end()) { + return it->second; + } + else { + QFileInfo location_file(location); + QString ext = location_file.suffix(); + QString sample_name = location_file.baseName(); + if (ext.toLower() == "xml") { + //X!Tandem result file + MsRunIdSp msrunid_sp = + + } + } } const QString & IdentificationDataSource::getResourceName () const { diff --git a/src/core/identification_sources/identificationdatasource.h b/src/core/identification_sources/identificationdatasource.h index d067a3cf61ec4641dffbb0bfdf79b927970bf008..928430919123a835cfc4891f6d790681992cc794 100644 --- a/src/core/identification_sources/identificationdatasource.h +++ b/src/core/identification_sources/identificationdatasource.h @@ -28,14 +28,10 @@ #include <map> -class IdentificationDataSource; - -typedef std::shared_ptr<IdentificationDataSource> IdentificationDataSourceSp; - class IdentificationDataSource { public: - static IdentificationDataSourceSp getInstance(const QString & location); + static IdentificationDataSource * getInstance(const QString & location); IdentificationDataSource(pappso::MsRunIdSp & ms_run_sp); IdentificationDataSource(const IdentificationDataSource& other);