diff options
author | Max <dmoagx@users.noreply.github.com> | 2017-12-30 00:36:10 +0100 |
---|---|---|
committer | Max <dmoagx@users.noreply.github.com> | 2018-01-20 02:42:36 +0100 |
commit | db2bdd8b53cede1bddde85e1527246d8e52f0fa2 (patch) | |
tree | 72c27e2eea096d226bfc0d60e0f4fe8a8ec11c3a /Source/SPExportController.h | |
parent | e00786ad1ddc53ce66247124b94280a441eacf3e (diff) | |
download | sequelpro-db2bdd8b53cede1bddde85e1527246d8e52f0fa2.tar.gz sequelpro-db2bdd8b53cede1bddde85e1527246d8e52f0fa2.tar.bz2 sequelpro-db2bdd8b53cede1bddde85e1527246d8e52f0fa2.zip |
merge SPExportController (part of #2789)
Diffstat (limited to 'Source/SPExportController.h')
-rw-r--r-- | Source/SPExportController.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Source/SPExportController.h b/Source/SPExportController.h index bef547d8..5eb15a9f 100644 --- a/Source/SPExportController.h +++ b/Source/SPExportController.h @@ -35,6 +35,9 @@ @class SPTableData; @class SPMySQLConnection; @class SPServerSupport; +@class SPCSVExporter; +@class SPXMLExporter; +@class SPExportFile; /** * @class SPExportController SPExportController.h @@ -284,4 +287,63 @@ - (IBAction)toggleSQLIncludeDropSyntax:(NSButton *)sender; - (IBAction)toggleNewFilePerTable:(NSButton *)sender; +#pragma mark - SPExportInitializer + +- (void)startExport; +- (void)exportEnded; +- (void)initializeExportUsingSelectedOptions; + +- (void)exportTables:(NSArray *)exportTables orDataArray:(NSArray *)dataArray; + +- (SPCSVExporter *)initializeCSVExporterForTable:(NSString *)table orDataArray:(NSArray *)dataArray; +- (SPXMLExporter *)initializeXMLExporterForTable:(NSString *)table orDataArray:(NSArray *)dataArray; + +#pragma mark - SPExportFileUtilities + +- (void)writeCSVHeaderToExportFile:(SPExportFile *)file; +- (void)writeXMLHeaderToExportFile:(SPExportFile *)file; + +- (void)errorCreatingExportFileHandles:(NSArray *)files; + +#pragma mark - SPExportFilenameUtilities + +- (void)updateDisplayedExportFilename; +- (void)updateAvailableExportFilenameTokens; +- (NSArray *)currentAllowedExportFilenameTokens; +- (NSString *)generateDefaultExportFilename; +- (NSString *)currentDefaultExportFileExtension; +- (NSString *)expandCustomFilenameFormatUsingTableName:(NSString *)table; +- (NSString *)customFilenamePathExtension; +- (BOOL)isTableTokenAllowed; + +#pragma mark - SPExportSettingsPersistence + +- (IBAction)exportCurrentSettings:(id)sender; +- (IBAction)importCurrentSettings:(id)sender; + +/** + * @return The current settings as a dictionary which can be serialized + */ +- (NSDictionary *)currentSettingsAsDictionary; + +/** Overwrite current export settings with those defined in dict + * @param dict The new settings to apply (passing nil is an error.) + * @param err Errors while applying (will mostly be about invalid format, type) + * Can pass NULL, if not interested in details. + * Will NOT be changed unless the method also returns NO + * @return success + */ +- (BOOL)applySettingsFromDictionary:(NSDictionary *)dict error:(NSError **)err; + +/** + * @return A serialized form of the "custom filename" field + */ +- (NSArray *)currentCustomFilenameAsArray; + +/** + * @param tokenList A serialized form of the "custom filename" field + * @see currentCustomFilenameAsArray + */ +- (void)setCustomFilenameFromArray:(NSArray *)tokenList; + @end |