Update copyright dates in source files.
[cumulus.git] / localdb.h
index 0fce30d..6b1f338 100644 (file)
--- a/localdb.h
+++ b/localdb.h
@@ -1,5 +1,5 @@
 /* LBS: An LFS-inspired filesystem backup system
- * Copyright (C) 2007  Michael Vrable
+ * Copyright (C) 2007-2008  Michael Vrable
  *
  * When creating backup snapshots, maintain a local database of data blocks and
  * checksums, in addition to the data contents (which may be stored remotely).
 class LocalDb {
 public:
     void Open(const char *path, const char *snapshot_name,
-              const char *snapshot_scheme);
+              const char *snapshot_scheme, double intent);
     void Close();
     void StoreObject(const ObjectReference& ref,
                      const std::string &checksum, int64_t size, double age);
     ObjectReference FindObject(const std::string &checksum, int64_t size);
-    bool IsOldObject(const std::string &checksum, int64_t size, double *age);
+    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);
 private:
     sqlite3 *db;
     int64_t snapshotid;
 
     sqlite3_stmt *Prepare(const char *sql);
+    void ReportError(int rc);
     int64_t SegmentToId(const std::string &segment);
     std::string IdToSegment(int64_t segmentid);
 };