diff options
Diffstat (limited to 'Plugins/RegExpImport/regexpimport.h')
| -rw-r--r-- | Plugins/RegExpImport/regexpimport.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Plugins/RegExpImport/regexpimport.h b/Plugins/RegExpImport/regexpimport.h new file mode 100644 index 0000000..3603401 --- /dev/null +++ b/Plugins/RegExpImport/regexpimport.h @@ -0,0 +1,52 @@ +#ifndef REGEXPIMPORT_H +#define REGEXPIMPORT_H + +#include "regexpimport_global.h" +#include "plugins/genericplugin.h" +#include "plugins/importplugin.h" +#include "config_builder.h" + +class QRegularExpression; +class QFile; +class QTextStream; + +CFG_CATEGORIES(RegExpImportConfig, + CFG_CATEGORY(RegExpImport, + CFG_ENTRY(QString, Pattern, QString()) + CFG_ENTRY(QString, GroupsMode, "all") // all / custom + CFG_ENTRY(QString, CustomGroupList, QString()) + ) +) + +class REGEXPIMPORTSHARED_EXPORT RegExpImport : public GenericPlugin, public ImportPlugin +{ + Q_OBJECT + SQLITESTUDIO_PLUGIN("regexpimport.json") + + public: + RegExpImport(); + + bool init(); + void deinit(); + QString getDataSourceTypeName() const; + ImportManager::StandardConfigFlags standardOptionsToEnable() const; + QString getFileFilter() const; + bool beforeImport(const ImportManager::StandardImportConfig& config); + void afterImport(); + QList<ColumnDefinition> getColumns() const; + QList<QVariant> next(); + CfgMain* getConfig(); + QString getImportConfigFormName() const; + bool validateOptions(); + + private: + CFG_LOCAL(RegExpImportConfig, cfg) + QRegularExpression* re = nullptr; + QList<QVariant> groups; + QStringList columns; + QFile* file = nullptr; + QTextStream* stream = nullptr; + QString buffer; +}; + +#endif // REGEXPIMPORT_H |
