| Index: chrome/browser/chromeos/gdata/gdata.h
|
| diff --git a/chrome/browser/chromeos/gdata/gdata.h b/chrome/browser/chromeos/gdata/gdata.h
|
| index 9d1fe0106ebd4f9159114bc77eae71fd36c7e6a4..2f6cf2f189c4bd6d3b8644225ed8b78f6bc199ee 100644
|
| --- a/chrome/browser/chromeos/gdata/gdata.h
|
| +++ b/chrome/browser/chromeos/gdata/gdata.h
|
| @@ -57,8 +57,12 @@ enum DocumentExportFormat {
|
| // Different callback types for various functionalities in DocumentsService.
|
| typedef base::Callback<void(GDataErrorCode error,
|
| const std::string& token)> AuthStatusCallback;
|
| +
|
| +// Note: feed_data argument should be passed using base::Passed(&feed_data), not
|
| +// feed_data.Pass().
|
| typedef base::Callback<void(GDataErrorCode error,
|
| scoped_ptr<base::Value> feed_data)> GetDataCallback;
|
| +
|
| typedef base::Callback<void(GDataErrorCode error,
|
| const GURL& document_url)> EntryActionCallback;
|
| typedef base::Callback<void(GDataErrorCode error,
|
| @@ -193,47 +197,47 @@ class GDataAuthService : public content::NotificationObserver {
|
| DISALLOW_COPY_AND_ASSIGN(GDataAuthService);
|
| };
|
|
|
| -// This class provides documents feed service calls.
|
| -class DocumentsService : public GDataAuthService::Observer {
|
| +// This defines an interface for sharing by DocumentService and
|
| +// MockDocumentService so that we can do testing of clients of DocumentService.
|
| +class DocumentsServiceInterface {
|
| public:
|
| - // DocumentsService is usually owned and created by GDataFileSystem.
|
| - DocumentsService();
|
| - virtual ~DocumentsService();
|
| + virtual ~DocumentsServiceInterface() {}
|
|
|
| // Initializes the documents service tied with |profile|.
|
| - void Initialize(Profile* profile);
|
| + virtual void Initialize(Profile* profile) = 0;
|
|
|
| // Cancels all in-flight operations.
|
| - void CancelAll();
|
| + virtual void CancelAll() = 0;
|
|
|
| // Authenticates the user by fetching the auth token as
|
| // needed. |callback| will be run with the error code and the auth
|
| // token, on the thread this function is run.
|
| //
|
| // Can be called on any thread.
|
| - void Authenticate(const AuthStatusCallback& callback);
|
| + virtual void Authenticate(const AuthStatusCallback& callback) = 0;
|
|
|
| // Gets the document feed from |feed_url|. If this URL is empty, the call
|
| // will fetch the default ('root') document feed. Upon completion,
|
| // invokes |callback| with results on the calling thread.
|
| //
|
| // Can be called on any thread.
|
| - void GetDocuments(const GURL& feed_url, const GetDataCallback& callback);
|
| + virtual void GetDocuments(const GURL& feed_url,
|
| + const GetDataCallback& callback) = 0;
|
|
|
| - // Delete a document identified by its 'self' |url| and |etag|.
|
| + // Deletes a document identified by its 'self' |url| and |etag|.
|
| // Upon completion, invokes |callback| with results on the calling thread.
|
| //
|
| // Can be called on any thread.
|
| - void DeleteDocument(const GURL& document_url,
|
| - const EntryActionCallback& callback);
|
| + virtual void DeleteDocument(const GURL& document_url,
|
| + const EntryActionCallback& callback) = 0;
|
|
|
| // Downloads a document identified by its |content_url| in a given |format|.
|
| // Upon completion, invokes |callback| with results on the calling thread.
|
| //
|
| // Can be called on any thread.
|
| - void DownloadDocument(const GURL& content_url,
|
| - DocumentExportFormat format,
|
| - const DownloadActionCallback& callback);
|
| + virtual void DownloadDocument(const GURL& content_url,
|
| + DocumentExportFormat format,
|
| + const DownloadActionCallback& callback) = 0;
|
|
|
| // Creates new collection with |directory_name| under parent directory
|
| // identified with |parent_content_url|. If |parent_content_url| is empty,
|
| @@ -241,28 +245,60 @@ class DocumentsService : public GDataAuthService::Observer {
|
| // invokes |callback| and passes newly created entry on the calling thread.
|
| //
|
| // Can be called on any thread.
|
| - void CreateDirectory(const GURL& parent_content_url,
|
| - const FilePath::StringType& directory_name,
|
| - const GetDataCallback& callback);
|
| + virtual void CreateDirectory(const GURL& parent_content_url,
|
| + const FilePath::StringType& directory_name,
|
| + const GetDataCallback& callback) = 0;
|
|
|
| // Downloads a file identified by its |content_url|. Upon completion, invokes
|
| // |callback| with results on the calling thread.
|
| //
|
| // Can be called on any thread.
|
| - void DownloadFile(const GURL& content_url,
|
| - const DownloadActionCallback& callback);
|
| + virtual void DownloadFile(const GURL& content_url,
|
| + const DownloadActionCallback& callback) = 0;
|
|
|
| - // Initiate uploading of a document/file.
|
| + // Initiates uploading of a document/file.
|
| //
|
| // Can be called on any thread.
|
| - void InitiateUpload(const InitiateUploadParams& params,
|
| - const InitiateUploadCallback& callback);
|
| + virtual void InitiateUpload(const InitiateUploadParams& params,
|
| + const InitiateUploadCallback& callback) = 0;
|
|
|
| - // Resume uploading of a document/file on the calling thread.
|
| + // Resumes uploading of a document/file on the calling thread.
|
| //
|
| // Can be called on any thread.
|
| - void ResumeUpload(const ResumeUploadParams& params,
|
| - const ResumeUploadCallback& callback);
|
| + virtual void ResumeUpload(const ResumeUploadParams& params,
|
| + const ResumeUploadCallback& callback) = 0;
|
| +};
|
| +
|
| +// This class provides documents feed service calls.
|
| +class DocumentsService
|
| + : public DocumentsServiceInterface,
|
| + public GDataAuthService::Observer {
|
| + public:
|
| + // DocumentsService is usually owned and created by GDataFileSystem.
|
| + DocumentsService();
|
| + virtual ~DocumentsService();
|
| +
|
| + // DocumentsServiceInterface Overrides
|
| + virtual void Initialize(Profile* profile) OVERRIDE;
|
| + virtual void CancelAll() OVERRIDE;
|
| + virtual void Authenticate(const AuthStatusCallback& callback) OVERRIDE;
|
| + virtual void GetDocuments(const GURL& feed_url,
|
| + const GetDataCallback& callback) OVERRIDE;
|
| + virtual void DeleteDocument(const GURL& document_url,
|
| + const EntryActionCallback& callback) OVERRIDE;
|
| + virtual void DownloadDocument(
|
| + const GURL& content_url,
|
| + DocumentExportFormat format,
|
| + const DownloadActionCallback& callback) OVERRIDE;
|
| + virtual void CreateDirectory(const GURL& parent_content_url,
|
| + const FilePath::StringType& directory_name,
|
| + const GetDataCallback& callback) OVERRIDE;
|
| + virtual void DownloadFile(const GURL& content_url,
|
| + const DownloadActionCallback& callback) OVERRIDE;
|
| + virtual void InitiateUpload(const InitiateUploadParams& params,
|
| + const InitiateUploadCallback& callback) OVERRIDE;
|
| + virtual void ResumeUpload(const ResumeUploadParams& params,
|
| + const ResumeUploadCallback& callback) OVERRIDE;
|
|
|
| GDataAuthService* gdata_auth_service() { return gdata_auth_service_.get(); }
|
|
|
|
|