コード例 #1
0
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();
}