Index: content/public/browser/download_destination_observer.h |
diff --git a/content/public/browser/download_destination_observer.h b/content/public/browser/download_destination_observer.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6de162118912503c642f2f1616477545553ac07f |
--- /dev/null |
+++ b/content/public/browser/download_destination_observer.h |
@@ -0,0 +1,37 @@ |
+// Copyright (c) 2012 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 CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_DESTINATION_OBSERVER_H_ |
+#define CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_DESTINATION_OBSERVER_H_ |
+ |
+#include <string> |
+ |
+#include "content/public/browser/download_interrupt_reasons.h" |
+ |
+namespace content { |
+ |
+// Class that receives asynchronous events from a DownloadDestination about |
+// downloading progress and completion. These should report status when the |
+// data arrives at its final location; i.e. DestinationUpdate should be |
+// called after the destination is finished with whatever operation it |
+// is doing on the data described by |bytes_so_far| and DestinationCompleted |
+// should only be called once that is true for all data. |
+// |
+// All methods must be invoked on the UI thread. |
jam
2012/08/06 18:16:37
nit: since the content api's documentation is for
Randy Smith (Not in Mondays)
2012/08/10 20:09:00
Done.
|
+// |
+// Note that this interface does not deal with cross-thread lifetime issues. |
+class DownloadDestinationObserver { |
+ public: |
+ virtual void DestinationUpdate(int64 bytes_so_far, |
+ int64 bytes_per_sec, |
+ const std::string& hash_state) = 0; |
+ |
+ virtual void DestinationError(DownloadInterruptReason reason) = 0; |
+ |
+ virtual void DestinationCompleted(const std::string& final_hash) = 0; |
+}; |
+ |
+} // namespace content |
+ |
+#endif // CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_FILE_OBSERVER_H_ |