diff options
Diffstat (limited to 'Plugins/CsvExport/csvexport.h')
| -rw-r--r-- | Plugins/CsvExport/csvexport.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Plugins/CsvExport/csvexport.h b/Plugins/CsvExport/csvexport.h new file mode 100644 index 0000000..7ecde7c --- /dev/null +++ b/Plugins/CsvExport/csvexport.h @@ -0,0 +1,56 @@ +#ifndef CSVEXPORT_H +#define CSVEXPORT_H + +#include "csvexport_global.h" +#include "plugins/genericexportplugin.h" +#include "config_builder.h" +#include "csvformat.h" + +CFG_CATEGORIES(CsvExportConfig, + CFG_CATEGORY(CsvExport, + CFG_ENTRY(bool, ColumnsInFirstRow, false) + CFG_ENTRY(int, Separator, 0) + CFG_ENTRY(QString, CustomSeparator, QString()) + CFG_ENTRY(QString, NullValueString, QString()) + ) +) + +class CSVEXPORTSHARED_EXPORT CsvExport : public GenericExportPlugin +{ + Q_OBJECT + SQLITESTUDIO_PLUGIN("csvexport.json") + + public: + CsvExport(); + + QString getFormatName() const; + ExportManager::StandardConfigFlags standardOptionsToEnable() const; + ExportManager::ExportModes getSupportedModes() const; + QString getExportConfigFormName() const; + CfgMain* getConfig(); + void validateOptions(); + QString defaultFileExtension() const; + bool beforeExportQueryResults(const QString& query, QList<QueryExecutor::ResultColumnPtr>& columns, + const QHash<ExportManager::ExportProviderFlag,QVariant> providedData); + bool exportQueryResultsRow(SqlResultsRowPtr row); + bool exportTable(const QString& database, const QString& table, const QStringList& columnNames, const QString& ddl, SqliteCreateTablePtr createTable, + const QHash<ExportManager::ExportProviderFlag,QVariant> providedData); + bool exportVirtualTable(const QString& database, const QString& table, const QStringList& columnNames, const QString& ddl, SqliteCreateVirtualTablePtr createTable, + const QHash<ExportManager::ExportProviderFlag,QVariant> providedData); + bool exportTableRow(SqlResultsRowPtr data); + bool beforeExportDatabase(const QString& database); + bool exportIndex(const QString& database, const QString& name, const QString& ddl, SqliteCreateIndexPtr createIndex); + bool exportTrigger(const QString& database, const QString& name, const QString& ddl, SqliteCreateTriggerPtr createTrigger); + bool exportView(const QString& database, const QString& name, const QString& ddl, SqliteCreateViewPtr createView); + bool init(); + void deinit(); + + private: + bool exportTable(const QStringList& columnNames); + void defineCsvFormat(); + + CFG_LOCAL(CsvExportConfig, cfg) + CsvFormat format; +}; + +#endif // CSVEXPORT_H |
