Delete a debugging message on hash algorithm registration.
[cumulus.git] / localdb.h
index 33a0029..4e1292f 100644 (file)
--- a/localdb.h
+++ b/localdb.h
@@ -1,7 +1,6 @@
-/* Cumulus: Smart Filesystem Backup to Dumb Servers
- *
- * Copyright (C) 2007-2008  The Regents of the University of California
- * Written by Michael Vrable <mvrable@cs.ucsd.edu>
+/* Cumulus: Efficient Filesystem Backup to the Cloud
+ * Copyright (C) 2007-2008 The Cumulus Developers
+ * See the AUTHORS file for a list of contributors.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -32,6 +31,7 @@
 
 #include <sqlite3.h>
 
+#include <set>
 #include <string>
 
 #include "ref.h"
 class LocalDb {
 public:
     void Open(const char *path, const char *snapshot_name,
-              const char *snapshot_scheme, double intent);
+              const char *snapshot_scheme);
     void Close();
-    void StoreObject(const ObjectReference& ref,
-                     const std::string &checksum, int64_t size, double age);
+    void StoreObject(const ObjectReference& ref, double age);
     ObjectReference FindObject(const std::string &checksum, int64_t size);
     bool IsOldObject(const std::string &checksum, int64_t size, double *age,
                      int *group);
     bool IsAvailable(const ObjectReference &ref);
     void UseObject(const ObjectReference& ref);
-    void UseSegment(const std::string &segment, double utilization);
 
-    void SetSegmentChecksum(const std::string &segment, const std::string &path,
-                            const std::string &checksum, int size);
-    bool GetSegmentChecksum(const std::string &segment,
-                            std::string *seg_path, std::string *seg_checksum);
+    std::set<std::string> GetUsedSegments();
+    void SetSegmentMetadata(const std::string &segment, const std::string &path,
+                            const std::string &checksum,
+                            const std::string &type, int data_size,
+                            int disk_size);
+    std::map<std::string, std::string> GetSegmentMetadata(
+        const std::string &segment);
+
+    bool LoadChunkSignatures(ObjectReference ref,
+                             void **buf, size_t *len,
+                             std::string *algorithm);
+    void StoreChunkSignatures(ObjectReference ref,
+                              const void *buf, size_t len,
+                              const std::string &algorithm);
 private:
     sqlite3 *db;
     int64_t snapshotid;