medDataReaderWriter::Writer medDataReaderWriter::writer(const QString& path,const medAbstractData* data) { if (!data) return Writer(); QList<QString> writers = medAbstractDataFactory::instance()->writers(); static Writer dwriter; if (!dwriter.isNull() && dwriter->handled().contains(data->identifier()) && dwriter->canWrite(path)) return dwriter; for (int i=0;i<writers.size();++i) { dwriter = medAbstractDataFactory::instance()->writerSmartPointer(writers[i]); if (dwriter->handled().contains(data->identifier()) && dwriter->canWrite(path)) { dwriter->enableDeferredDeletion(false); return dwriter; } } return dwriter = Writer(); }