diff options
author | Chris Wilson <chris+github@qwirx.com> | 2013-08-22 00:17:34 +0000 |
---|---|---|
committer | Chris Wilson <chris+github@qwirx.com> | 2013-08-22 00:17:34 +0000 |
commit | c8af9906b692de24dbf1b03c563d85fa85d3a4dc (patch) | |
tree | 16c97aa693fb5e7133b4e10c826c901bdcddbe10 /lib/backupstore/BackupStoreFile.h | |
parent | 410c85a13d5812efeadb13e3ffa82b9629331100 (diff) |
Pass std::auto_ptr objects to Protocol for upload.
Passing raw pointers is bad C++ style, and dangerous, because Protocol
will free the passed-in pointers after uploading them, so we should not
keep using them.
Reduce code duplication in BackupClientDirectoryRecord patch/normal upload.
Return a std::auto_ptr<BackupStoreFileEncodeStream> instead of a
std::auto_ptr<IOStream> from BackupStoreFile::EncodeFile* functions.
Diffstat (limited to 'lib/backupstore/BackupStoreFile.h')
-rw-r--r-- | lib/backupstore/BackupStoreFile.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/backupstore/BackupStoreFile.h b/lib/backupstore/BackupStoreFile.h index e24ff8cb..7c72e010 100644 --- a/lib/backupstore/BackupStoreFile.h +++ b/lib/backupstore/BackupStoreFile.h @@ -60,6 +60,8 @@ public: virtual bool IsManaged() = 0; }; +class BackupStoreFileEncodeStream; + // -------------------------------------------------------------------------- // // Class @@ -119,7 +121,7 @@ public: // Main interface - static std::auto_ptr<IOStream> EncodeFile + static std::auto_ptr<BackupStoreFileEncodeStream> EncodeFile ( const std::string& Filename, int64_t ContainerID, const BackupStoreFilename &rStoreFilename, @@ -127,7 +129,7 @@ public: ReadLoggingStream::Logger* pLogger = NULL, RunStatusProvider* pRunStatusProvider = NULL ); - static std::auto_ptr<IOStream> EncodeFileDiff + static std::auto_ptr<BackupStoreFileEncodeStream> EncodeFileDiff ( const std::string& Filename, int64_t ContainerID, const BackupStoreFilename &rStoreFilename, |