File indexing completed on 2024-05-12 03:47:42
0001 /* 0002 File : AbstractDataSource.h 0003 Project : LabPlot 0004 Description : Interface for data sources 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2009-2017 Alexander Semke <alexander.semke@web.de> 0007 SPDX-FileCopyrightText: 2015 Stefan Gerlach <stefan.gerlach@uni.kn> 0008 0009 SPDX-License-Identifier: GPL-2.0-or-later 0010 */ 0011 #ifndef ABSTRACTDATASOURCE_H 0012 #define ABSTRACTDATASOURCE_H 0013 0014 #include "backend/core/AbstractColumn.h" 0015 #include "backend/core/AbstractPart.h" 0016 #include "backend/datasources/filters/AbstractFileFilter.h" 0017 0018 class AbstractDataSource : public AbstractPart { 0019 Q_OBJECT 0020 0021 public: 0022 AbstractDataSource(const QString& name, AspectType type); 0023 ~AbstractDataSource() override = default; 0024 0025 void clear(); 0026 virtual int prepareImport(std::vector<void*>& dataContainer, 0027 AbstractFileFilter::ImportMode, 0028 int actualRows, 0029 int actualCols, 0030 QStringList colNameList = QStringList(), 0031 QVector<AbstractColumn::ColumnMode> = QVector<AbstractColumn::ColumnMode>(), 0032 bool initializeDataContainer = true) = 0; 0033 virtual void finalizeImport(size_t columnOffset = 0, 0034 size_t startColumn = 0, 0035 size_t endColumn = 0, 0036 const QString& dateTimeFormat = QString(), 0037 AbstractFileFilter::ImportMode importMode = AbstractFileFilter::ImportMode::Replace) = 0; 0038 }; 0039 0040 #endif // ABSTRACTDATASOURCE_H