aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPExportController.h
diff options
context:
space:
mode:
authorMax <dmoagx@users.noreply.github.com>2017-12-30 00:36:10 +0100
committerMax <dmoagx@users.noreply.github.com>2018-01-20 02:42:36 +0100
commitdb2bdd8b53cede1bddde85e1527246d8e52f0fa2 (patch)
tree72c27e2eea096d226bfc0d60e0f4fe8a8ec11c3a /Source/SPExportController.h
parente00786ad1ddc53ce66247124b94280a441eacf3e (diff)
downloadsequelpro-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.h62
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