diff options
author | stuconnolly <stuart02@gmail.com> | 2010-08-12 12:56:20 +0000 |
---|---|---|
committer | stuconnolly <stuart02@gmail.com> | 2010-08-12 12:56:20 +0000 |
commit | fc02f913371d522a025c47824fafeba8e3174da1 (patch) | |
tree | 086561fd418bf35139dda47d698d7923196a4f30 /Source/SPExporter.h | |
parent | 50f15c41936be3fb62384834bb3629e09018e67b (diff) | |
download | sequelpro-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.h | 82 |
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 |