summaryrefslogtreecommitdiff
path: root/lib/bbackupd/BackupClientInodeToIDMap.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bbackupd/BackupClientInodeToIDMap.h')
-rw-r--r--lib/bbackupd/BackupClientInodeToIDMap.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/lib/bbackupd/BackupClientInodeToIDMap.h b/lib/bbackupd/BackupClientInodeToIDMap.h
new file mode 100644
index 00000000..4bb1e085
--- /dev/null
+++ b/lib/bbackupd/BackupClientInodeToIDMap.h
@@ -0,0 +1,59 @@
+// --------------------------------------------------------------------------
+//
+// File
+// Name: BackupClientInodeToIDMap.h
+// Purpose: Map of inode numbers to file IDs on the store
+// Created: 11/11/03
+//
+// --------------------------------------------------------------------------
+
+#ifndef BACKUPCLIENTINODETOIDMAP_H
+#define BACKUPCLIENTINODETOIDMAP_H
+
+#include <sys/types.h>
+
+#include <map>
+#include <utility>
+
+// avoid having to include the DB files when not necessary
+#ifndef BACKIPCLIENTINODETOIDMAP_IMPLEMENTATION
+ class DEPOT;
+#endif
+
+// --------------------------------------------------------------------------
+//
+// Class
+// Name: BackupClientInodeToIDMap
+// Purpose: Map of inode numbers to file IDs on the store
+// Created: 11/11/03
+//
+// --------------------------------------------------------------------------
+class BackupClientInodeToIDMap
+{
+public:
+ BackupClientInodeToIDMap();
+ ~BackupClientInodeToIDMap();
+private:
+ BackupClientInodeToIDMap(const BackupClientInodeToIDMap &rToCopy); // not allowed
+public:
+
+ void Open(const char *Filename, bool ReadOnly, bool CreateNew);
+ void OpenEmpty();
+
+ void AddToMap(InodeRefType InodeRef, int64_t ObjectID,
+ int64_t InDirectory, const std::string& LocalPath);
+ bool Lookup(InodeRefType InodeRef, int64_t &rObjectIDOut,
+ int64_t &rInDirectoryOut, std::string* pLocalPathOut = NULL) const;
+
+ void Close();
+
+private:
+ bool mReadOnly;
+ bool mEmpty;
+ std::string mFilename;
+ DEPOT *mpDepot;
+};
+
+#endif // BACKUPCLIENTINODETOIDMAP_H
+
+