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

Unified Diff: chrome/browser/chromeos/gdata/drive_api_service.h

Issue 10829375: Cleanup: separate WAPI and Drive API code in gdata_documents_service. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix for comments Created 8 years, 4 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/chromeos/gdata/drive_api_service.h
diff --git a/chrome/browser/chromeos/gdata/drive_api_service.h b/chrome/browser/chromeos/gdata/drive_api_service.h
new file mode 100644
index 0000000000000000000000000000000000000000..27a5478b0e8d64ec74a96e7e610a2d7f07b34006
--- /dev/null
+++ b/chrome/browser/chromeos/gdata/drive_api_service.h
@@ -0,0 +1,120 @@
+// 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 CHROME_BROWSER_CHROMEOS_GDATA_DRIVE_API_SERVICE_H_
+#define CHROME_BROWSER_CHROMEOS_GDATA_DRIVE_API_SERVICE_H_
+
+#include <string>
+
+#include "base/memory/scoped_ptr.h"
+#include "base/memory/weak_ptr.h"
+#include "chrome/browser/chromeos/gdata/documents_service_interface.h"
+#include "chrome/browser/chromeos/gdata/gdata_operations.h"
+#include "chrome/browser/chromeos/gdata/gdata_auth_service.h"
+#include "chrome/browser/chromeos/gdata/gdata_errorcode.h"
+
+class FilePath;
+class GURL;
+class Profile;
+
+namespace gdata {
+
+class GDataOperationRunner;
+
+// This class provides documents feed service calls for Drive V2 API.
+// Details of API call are abstracted in each operation class and this class
+// works as a thin wrapper for the API.
+class DriveAPIService : public DocumentsServiceInterface {
+ public:
+ // Instance is usually created by GDataSystemServiceFactory and owned by
+ // GDataFileSystem.
+ DriveAPIService();
+ virtual ~DriveAPIService();
+
+ // DocumentsServiceInterface Overrides
+ virtual void Initialize(Profile* profile) OVERRIDE;
+ virtual GDataOperationRegistry* operation_registry() const OVERRIDE;
+ virtual void CancelAll() OVERRIDE;
+ virtual void Authenticate(const AuthStatusCallback& callback) OVERRIDE;
+ virtual bool HasAccessToken() const OVERRIDE;
+ virtual bool HasRefreshToken() const OVERRIDE;
+ virtual void GetDocuments(const GURL& feed_url,
+ int64 start_changestamp,
+ const std::string& search_query,
+ const std::string& directory_resource_id,
+ const GetDataCallback& callback) OVERRIDE;
+ virtual void GetDocumentEntry(const std::string& resource_id,
+ const GetDataCallback& callback) OVERRIDE;
+
+ virtual void GetAccountMetadata(const GetDataCallback& callback) OVERRIDE;
+ virtual void GetApplicationInfo(const GetDataCallback& callback) OVERRIDE;
+ virtual void DeleteDocument(const GURL& document_url,
+ const EntryActionCallback& callback) OVERRIDE;
+ virtual void DownloadDocument(
+ const FilePath& virtual_path,
+ const FilePath& local_cache_path,
+ const GURL& content_url,
+ DocumentExportFormat format,
+ const DownloadActionCallback& callback) OVERRIDE;
+ virtual void DownloadFile(
+ const FilePath& virtual_path,
+ const FilePath& local_cache_path,
+ const GURL& content_url,
+ const DownloadActionCallback& download_action_callback,
+ const GetContentCallback& get_content_callback) OVERRIDE;
+ virtual void CopyDocument(const std::string& resource_id,
+ const FilePath::StringType& new_name,
+ const GetDataCallback& callback) OVERRIDE;
+ virtual void RenameResource(const GURL& document_url,
+ const FilePath::StringType& new_name,
+ const EntryActionCallback& callback) OVERRIDE;
+ virtual void AddResourceToDirectory(
+ const GURL& parent_content_url,
+ const GURL& resource_url,
+ const EntryActionCallback& callback) OVERRIDE;
+ virtual void RemoveResourceFromDirectory(
+ const GURL& parent_content_url,
+ const GURL& resource_url,
+ const std::string& resource_id,
+ const EntryActionCallback& callback) OVERRIDE;
+ virtual void CreateDirectory(const GURL& parent_content_url,
+ const FilePath::StringType& directory_name,
+ const GetDataCallback& callback) OVERRIDE;
+ virtual void InitiateUpload(const InitiateUploadParams& params,
+ const InitiateUploadCallback& callback) OVERRIDE;
+ virtual void ResumeUpload(const ResumeUploadParams& params,
+ const ResumeUploadCallback& callback) OVERRIDE;
+ virtual void AuthorizeApp(const GURL& resource_url,
+ const std::string& app_id,
+ const GetDataCallback& callback) OVERRIDE;
+
+ private:
+ // Fetches a changelist from |url| with |start_changestamp|, using Drive V2
+ // API. If this URL is empty the call will use the default URL. Specify |url|
+ // when pagenated request should be issued.
+ // |start_changestamp| specifies the starting point of change list or 0 if
+ // all changes are necessary.
+ // Upon completion, invokes |callback| with results on calling thread.
+ virtual void GetChangelist(const GURL& url,
+ int64 start_changestamp,
+ const GetDataCallback& callback);
+
+ // Fetches a filelist from |url| with |search_query|, using Drive V2 API. If
+ // this URL is empty the call will use the default URL. Specify |url| when
+ // pagenated request should be issued.
+ // |search_query| specifies query string, whose syntax is described at
+ // https://developers.google.com/drive/search-parameters
+ virtual void GetFilelist(const GURL& url,
+ const std::string& search_query,
+ const GetDataCallback& callback);
+
+ Profile* profile_;
+ scoped_ptr<GDataOperationRunner> runner_;
+
+ DISALLOW_COPY_AND_ASSIGN(DriveAPIService);
+};
+
+} // namespace gdata
+
+#endif // CHROME_BROWSER_CHROMEOS_GDATA_DRIVE_API_SERVICE_H_
« no previous file with comments | « chrome/browser/chromeos/gdata/documents_service_interface.h ('k') | chrome/browser/chromeos/gdata/drive_api_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698