summaryrefslogtreecommitdiff
path: root/lib/backupclient/BackupStoreFilename.h
diff options
context:
space:
mode:
authorChris Wilson <chris+github@qwirx.com>2011-04-26 18:44:26 +0000
committerChris Wilson <chris+github@qwirx.com>2011-04-26 18:44:26 +0000
commit1fe4e9308b8f50dbe70cc69bd500eb829a11b460 (patch)
tree738a016038b1bfbca588f688938d0d34fc55c06a /lib/backupclient/BackupStoreFilename.h
parent848ec8ab81adfa1c8d10e87c047c9db3ec6654b4 (diff)
Major refactoring to make lib/backupclient depend on lib/backupstore rather
than the other way around. This is needed to allow clients to have all the code that they'd need to implement local backups (using the Local protocol) in subsequent commits.
Diffstat (limited to 'lib/backupclient/BackupStoreFilename.h')
-rw-r--r--lib/backupclient/BackupStoreFilename.h107
1 files changed, 0 insertions, 107 deletions
diff --git a/lib/backupclient/BackupStoreFilename.h b/lib/backupclient/BackupStoreFilename.h
deleted file mode 100644
index 80db9516..00000000
--- a/lib/backupclient/BackupStoreFilename.h
+++ /dev/null
@@ -1,107 +0,0 @@
-// --------------------------------------------------------------------------
-//
-// File
-// Name: BackupStoreFilename.h
-// Purpose: Filename for the backup store
-// Created: 2003/08/26
-//
-// --------------------------------------------------------------------------
-
-#ifndef BACKUPSTOREFILENAME__H
-#define BACKUPSTOREFILENAME__H
-
-#include <string>
-
-class Protocol;
-class IOStream;
-
-// #define BACKUPSTOREFILEAME_MALLOC_ALLOC_BASE_TYPE
-// don't define this -- the problem of memory usage still appears without this.
-// It's just that this class really showed up the problem. Instead, malloc allocation
-// is globally defined in BoxPlatform.h, for troublesome libraries.
-
-#ifdef BACKUPSTOREFILEAME_MALLOC_ALLOC_BASE_TYPE
- // Use a malloc_allocated string, because the STL default allocators really screw up with
- // memory allocation, particularly with this class.
- // Makes a few things a bit messy and inefficient with conversions.
- // Given up using this, and use global malloc allocation instead, but thought it
- // worth leaving this code in just in case it's useful for the future.
- typedef std::basic_string<char, std::string_char_traits<char>, std::malloc_alloc> BackupStoreFilename_base;
- // If this is changed, change GetClearFilename() back to returning a reference.
-#else
- typedef std::string BackupStoreFilename_base;
-#endif
-
-// --------------------------------------------------------------------------
-//
-// Class
-// Name: BackupStoreFilename
-// Purpose: Filename for the backup store
-// Created: 2003/08/26
-//
-// --------------------------------------------------------------------------
-class BackupStoreFilename /* : public BackupStoreFilename_base */
-{
-private:
- std::string mEncryptedName;
-
-public:
- BackupStoreFilename();
- BackupStoreFilename(const BackupStoreFilename &rToCopy);
- virtual ~BackupStoreFilename();
-
- bool CheckValid(bool ExceptionIfInvalid = true) const;
-
- void ReadFromProtocol(Protocol &rProtocol);
- void WriteToProtocol(Protocol &rProtocol) const;
-
- void ReadFromStream(IOStream &rStream, int Timeout);
- void WriteToStream(IOStream &rStream) const;
-
- void SetAsClearFilename(const char *Clear);
-
- // Check that it's encrypted
- bool IsEncrypted() const;
-
- // These enumerated types belong in the base class so
- // the CheckValid() function can make sure that the encoding
- // is a valid encoding
- enum
- {
- Encoding_Min = 1,
- Encoding_Clear = 1,
- Encoding_Blowfish = 2,
- Encoding_Max = 2
- };
-
- const std::string& GetEncodedFilename() const
- {
- return mEncryptedName;
- }
-
- bool operator==(const BackupStoreFilename& rOther) const
- {
- return mEncryptedName == rOther.mEncryptedName;
- }
-
- bool operator!=(const BackupStoreFilename& rOther) const
- {
- return mEncryptedName != rOther.mEncryptedName;
- }
-
-protected:
- virtual void EncodedFilenameChanged();
- void SetEncodedFilename(const std::string &rEncoded)
- {
- mEncryptedName = rEncoded;
- }
-};
-
-// On the wire utilities for class and derived class
-#define BACKUPSTOREFILENAME_GET_SIZE(hdr) (( ((uint8_t)((hdr)[0])) | ( ((uint8_t)((hdr)[1])) << 8)) >> 2)
-#define BACKUPSTOREFILENAME_GET_ENCODING(hdr) (((hdr)[0]) & 0x3)
-
-#define BACKUPSTOREFILENAME_MAKE_HDR(hdr, size, encoding) {uint16_t h = (((uint16_t)size) << 2) | (encoding); ((hdr)[0]) = h & 0xff; ((hdr)[1]) = h >> 8;}
-
-#endif // BACKUPSTOREFILENAME__H
-