Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3435)

Unified Diff: chrome/browser/android/history_report/delta_file_service.h

Issue 1141283003: Upstream oodles of Chrome for Android code into Chromium. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: final patch? Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/history_report/delta_file_service.h
diff --git a/chrome/browser/android/history_report/delta_file_service.h b/chrome/browser/android/history_report/delta_file_service.h
new file mode 100644
index 0000000000000000000000000000000000000000..a377b491aca210ea3a8e19a4c5a58a41adfa42c2
--- /dev/null
+++ b/chrome/browser/android/history_report/delta_file_service.h
@@ -0,0 +1,60 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_ANDROID_HISTORY_REPORT_DELTA_FILE_SERVICE_H_
+#define CHROME_BROWSER_ANDROID_HISTORY_REPORT_DELTA_FILE_SERVICE_H_
+
+#include <string>
+#include <vector>
+
+#include "base/memory/scoped_ptr.h"
+#include "base/threading/sequenced_worker_pool.h"
+
+class GURL;
+
+namespace base {
+class FilePath;
+} // namespace base
+
+namespace history_report {
+
+class DeltaFileEntryWithData;
+class DeltaFileBackend;
+
+// Delta file for gmscore integration and history reporting.
+class DeltaFileService {
+ public:
+ explicit DeltaFileService(const base::FilePath& dir);
+ ~DeltaFileService();
+
+ // Adds new addtion entry to delta file.
+ void PageAdded(const GURL& url);
+ // Adds new deletion entry to delta file.
+ void PageDeleted(const GURL& url);
+ // Removes all delta file entries with seqno <= lower_bound.
+ // Returns max seqno in delta file.
+ int64 Trim(int64 lower_bound);
+ // Removes all data from delta file and populates it with new addition
+ // entries for given urls.
+ bool Recreate(const std::vector<std::string>& urls);
+ // Provides up to limit delta file entries with seqno > last_seq_no.
+ scoped_ptr<std::vector<DeltaFileEntryWithData> > Query(int64 last_seq_no,
+ int32 limit);
+ // Removes all entries from delta file.
+ void Clear();
+
+ // Dumps internal state to string.
+ std::string Dump();
+
+ private:
+
+ base::SequencedWorkerPool::SequenceToken worker_pool_token_;
+ scoped_ptr<DeltaFileBackend> delta_file_backend_;
+
+ DISALLOW_COPY_AND_ASSIGN(DeltaFileService);
+};
+
+} // namespace history_report
+
+#endif // CHROME_BROWSER_ANDROID_HISTORY_REPORT_DELTA_FILE_SERVICE_H_

Powered by Google App Engine
This is Rietveld 408576698