aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPExporter.h
diff options
context:
space:
mode:
authorstuconnolly <stuart02@gmail.com>2010-08-12 12:56:20 +0000
committerstuconnolly <stuart02@gmail.com>2010-08-12 12:56:20 +0000
commitfc02f913371d522a025c47824fafeba8e3174da1 (patch)
tree086561fd418bf35139dda47d698d7923196a4f30 /Source/SPExporter.h
parent50f15c41936be3fb62384834bb3629e09018e67b (diff)
downloadsequelpro-fc02f913371d522a025c47824fafeba8e3174da1.tar.gz
sequelpro-fc02f913371d522a025c47824fafeba8e3174da1.tar.bz2
sequelpro-fc02f913371d522a025c47824fafeba8e3174da1.zip
Various export enhancements and fixes, including:
- A new SPExportFile class, providing an abstract interface to the handling and creation of export files. - Enables the centralisation of all file/file handle creation logic as well as better support for handling situations where files fail to be created, including files that already exist at the export location. - New SPExportFileHandleStatus constants to support the reporting of file handle creation. - Update SPExporter to use the new file class instead of directly using an instance of SPFileHandle. - Add the necessary logic to deal with files that already exist on disk, by providing the user with 3 options: cancel the export, ignore the files in question or overwrite them. We might want to enhance this to make new files sequential in name to prevent overwriting. Fixes issue #742. - New SPExportFileUtilities category, which centralises all the logic relating to writing export type headers as well as dealing with problems occurred during file/file handle creation. - Improve feedback given on the export progress sheet during export initialisation. - Tidy up and improve comments.
Diffstat (limited to 'Source/SPExporter.h')
-rw-r--r--Source/SPExporter.h82
1 files changed, 35 insertions, 47 deletions
diff --git a/Source/SPExporter.h b/Source/SPExporter.h
index 22ca0cc3..5c5e68c1 100644
--- a/Source/SPExporter.h
+++ b/Source/SPExporter.h
@@ -50,88 +50,76 @@
#import "SPConstants.h"
-@class MCPConnection, SPFileHandle;
+@class MCPConnection, SPExportFile;
@interface SPExporter : NSOperation
{
- /**
- * The MySQL connection to use
- */
MCPConnection *connection;
- /**
- * The exports current progress value
- */
double exportProgressValue;
-
- /**
- * The max progress value of the export operation
- */
double exportMaxProgress;
- /**
- * Indicates whether or not the exporter is running
- */
BOOL exportProcessIsRunning;
-
- /**
- * Indicates whether or not low memory streaming is used
- */
BOOL exportUsingLowMemoryBlockingStreaming;
-
- /**
- * Compress output
- */
BOOL exportOutputCompressFile;
- /**
- * Compression format
- */
+
SPFileCompressionFormat exportOutputCompressionFormat;
- /**
- * The resulting exported data as a string
- */
NSString *exportData;
- /**
- * The output file handle of the exporter
- */
- SPFileHandle *exportOutputFileHandle;
-
- /**
- * Export output encoding
- */
+ SPExportFile *exportOutputFile;
+
NSStringEncoding exportOutputEncoding;
}
+/**
+ * @property connection The MySQL connection to use
+ */
@property(readwrite, retain) MCPConnection *connection;
+/**
+ * @property exportProgressValue The export's current progress value
+ */
@property(readwrite, assign) double exportProgressValue;
+/**
+ * @property exportMaxProgress The max progress value of the export operation
+ */
+@property(readwrite, assign) double exportMaxProgress;
+
+/**
+ * @property exportProcessIsRunning Indicates whether or not the exporter is running
+ */
@property(readwrite, assign) BOOL exportProcessIsRunning;
+
+/**
+ * @property exportUsingLowMemoryBlockingStreaming Indicates whether or not low memory streaming is used
+ */
@property(readwrite, assign) BOOL exportUsingLowMemoryBlockingStreaming;
+/**
+ * @property exportOutputCompressionFormat Compression format
+ */
@property(readwrite, assign) SPFileCompressionFormat exportOutputCompressionFormat;
+/**
+ * @property exportData The resulting exported data as a string
+ */
@property(readwrite, retain) NSString *exportData;
-@property(readwrite, retain) SPFileHandle *exportOutputFileHandle;
-@property(readwrite, assign) NSStringEncoding exportOutputEncoding;
-
-@property(readwrite, assign) double exportMaxProgress;
/**
- * Returns whether or not file compression is in use.
- *
- * @return A BOOL indicating the use of compression
+ * @property exportOutputFile The output file of the exporter
*/
-- (BOOL)exportOutputCompressFile;
+@property(readwrite, retain) SPExportFile *exportOutputFile;
/**
- * Sets whether or not the resulting output of this exporter should be compressed.
- *
- * @param compress A BOOL indicating the use of compression
+ * @property exportOutputEncoding Export output encoding
*/
+@property(readwrite, assign) NSStringEncoding exportOutputEncoding;
+
+- (BOOL)exportOutputCompressFile;
+
- (void)setExportOutputCompressFile:(BOOL)compress;
@end