From 8af9d0341d6c00ee537adc089f938b120d1d8d34 Mon Sep 17 00:00:00 2001 From: "jianli@chromium.org" Date: Wed, 10 Feb 2010 00:00:32 +0000 Subject: Refactor DragDownloadFile so that it can be used by both Windows and MacOSX. BUG=none TEST=none Review URL: http://codereview.chromium.org/572014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38545 0039d316-1c4b-4281-b951-d872f2087c98 --- app/os_exchange_data.h | 40 ++++------------------------------------ 1 file changed, 4 insertions(+), 36 deletions(-) (limited to 'app/os_exchange_data.h') diff --git a/app/os_exchange_data.h b/app/os_exchange_data.h index b38e655..316db88 100644 --- a/app/os_exchange_data.h +++ b/app/os_exchange_data.h @@ -17,9 +17,9 @@ #include #endif +#include "app/download_file_interface.h" #include "base/basictypes.h" #include "base/file_path.h" -#include "base/ref_counted.h" #include "base/scoped_ptr.h" class GURL; @@ -61,45 +61,13 @@ class OSExchangeData { #endif }; - struct DownloadFileInfo; - - // Defines the interface to observe the status of file download. - class DownloadFileObserver : public base::RefCounted { - public: - // The caller is responsible to free the DownloadFileInfo objects passed - // in the vector parameter. - virtual void OnDataReady( - int format, - const std::vector& downloads) = 0; - - protected: - friend class base::RefCounted; - virtual ~DownloadFileObserver() {} - }; - - // Defines the interface to control how a file is downloaded. - class DownloadFileProvider : - public base::RefCountedThreadSafe { - public: - virtual bool Start(DownloadFileObserver* observer, int format) = 0; - virtual void Stop() = 0; - - protected: - friend class base::RefCountedThreadSafe; - virtual ~DownloadFileProvider() {} - }; - // Encapsulates the info about a file to be downloaded. struct DownloadFileInfo { FilePath filename; - uint64 size; scoped_refptr downloader; - DownloadFileInfo(const FilePath& filename, - uint64 size, - DownloadFileProvider* downloader) + DownloadFileInfo(const FilePath& filename, DownloadFileProvider* downloader) : filename(filename), - size(size), downloader(downloader) {} }; @@ -135,7 +103,7 @@ class OSExchangeData { virtual bool GetHtml(std::wstring* html, GURL* base_url) const = 0; virtual bool HasFileContents() const = 0; virtual bool HasHtml() const = 0; - virtual void SetDownloadFileInfo(DownloadFileInfo* download) = 0; + virtual void SetDownloadFileInfo(const DownloadFileInfo& download) = 0; #endif }; @@ -211,7 +179,7 @@ class OSExchangeData { bool GetHtml(std::wstring* html, GURL* base_url) const; // Adds a download file with full path (CF_HDROP). - void SetDownloadFileInfo(DownloadFileInfo* download); + void SetDownloadFileInfo(const DownloadFileInfo& download); #endif private: -- cgit v1.1