1// Copyright (c) 2010 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_DOWNLOAD_DOWNLOAD_STATUS_UPDATER_DELEGATE_H_
6#define CHROME_BROWSER_DOWNLOAD_DOWNLOAD_STATUS_UPDATER_DELEGATE_H_
7
8#include "base/basictypes.h"
9
10class DownloadStatusUpdaterDelegate {
11 public:
12  // Returns true if the progress is known (i.e. we know the final size
13  // of all downloads).
14  virtual bool IsDownloadProgressKnown() = 0;
15
16  // Returns the number of downloads that are in progress.
17  virtual int64 GetInProgressDownloadCount() = 0;
18
19  // Returns the amount of received data, in bytes.
20  virtual int64 GetReceivedDownloadBytes() = 0;
21
22  // Returns the final size of all downloads, in bytes.
23  virtual int64 GetTotalDownloadBytes() = 0;
24
25 protected:
26  virtual ~DownloadStatusUpdaterDelegate() {}
27};
28
29#endif  // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_STATUS_UPDATER_DELEGATE_H_
30