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

Unified Diff: chrome/browser/google_apis/drive_api_parser.h

Issue 96413002: Move c/b/google_apis to google_apis/drive. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years 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/google_apis/drive_api_parser.h
diff --git a/chrome/browser/google_apis/drive_api_parser.h b/chrome/browser/google_apis/drive_api_parser.h
deleted file mode 100644
index 45dd51840866020445ae3f1d405a961faefc38c5..0000000000000000000000000000000000000000
--- a/chrome/browser/google_apis/drive_api_parser.h
+++ /dev/null
@@ -1,850 +0,0 @@
-// 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_GOOGLE_APIS_DRIVE_API_PARSER_H_
-#define CHROME_BROWSER_GOOGLE_APIS_DRIVE_API_PARSER_H_
-
-#include <string>
-
-#include "base/compiler_specific.h"
-#include "base/gtest_prod_util.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/memory/scoped_vector.h"
-#include "base/strings/string_piece.h"
-#include "base/time/time.h"
-#include "url/gurl.h"
-
-namespace base {
-class Value;
-template <class StructType>
-class JSONValueConverter;
-
-namespace internal {
-template <class NestedType>
-class RepeatedMessageConverter;
-} // namespace internal
-} // namespace base
-
-namespace google_apis {
-
-// About resource represents the account information about the current user.
-// https://developers.google.com/drive/v2/reference/about
-class AboutResource {
- public:
- AboutResource();
- ~AboutResource();
-
- // Registers the mapping between JSON field names and the members in this
- // class.
- static void RegisterJSONConverter(
- base::JSONValueConverter<AboutResource>* converter);
-
- // Creates about resource from parsed JSON.
- static scoped_ptr<AboutResource> CreateFrom(const base::Value& value);
-
- // Returns the largest change ID number.
- int64 largest_change_id() const { return largest_change_id_; }
- // Returns total number of quota bytes.
- int64 quota_bytes_total() const { return quota_bytes_total_; }
- // Returns the number of quota bytes used.
- int64 quota_bytes_used() const { return quota_bytes_used_; }
- // Returns root folder ID.
- const std::string& root_folder_id() const { return root_folder_id_; }
-
- void set_largest_change_id(int64 largest_change_id) {
- largest_change_id_ = largest_change_id;
- }
- void set_quota_bytes_total(int64 quota_bytes_total) {
- quota_bytes_total_ = quota_bytes_total;
- }
- void set_quota_bytes_used(int64 quota_bytes_used) {
- quota_bytes_used_ = quota_bytes_used;
- }
- void set_root_folder_id(const std::string& root_folder_id) {
- root_folder_id_ = root_folder_id;
- }
-
- private:
- friend class DriveAPIParserTest;
- FRIEND_TEST_ALL_PREFIXES(DriveAPIParserTest, AboutResourceParser);
-
- // Parses and initializes data members from content of |value|.
- // Return false if parsing fails.
- bool Parse(const base::Value& value);
-
- int64 largest_change_id_;
- int64 quota_bytes_total_;
- int64 quota_bytes_used_;
- std::string root_folder_id_;
-
- DISALLOW_COPY_AND_ASSIGN(AboutResource);
-};
-
-// DriveAppIcon represents an icon for Drive Application.
-// https://developers.google.com/drive/v2/reference/apps
-class DriveAppIcon {
- public:
- enum IconCategory {
- UNKNOWN, // Uninitialized state.
- DOCUMENT, // Icon for a file associated with the app.
- APPLICATION, // Icon for the application.
- SHARED_DOCUMENT, // Icon for a shared file associated with the app.
- };
-
- DriveAppIcon();
- ~DriveAppIcon();
-
- // Registers the mapping between JSON field names and the members in this
- // class.
- static void RegisterJSONConverter(
- base::JSONValueConverter<DriveAppIcon>* converter);
-
- // Creates drive app icon instance from parsed JSON.
- static scoped_ptr<DriveAppIcon> CreateFrom(const base::Value& value);
-
- // Category of the icon.
- IconCategory category() const { return category_; }
-
- // Size in pixels of one side of the icon (icons are always square).
- int icon_side_length() const { return icon_side_length_; }
-
- // Returns URL for this icon.
- const GURL& icon_url() const { return icon_url_; }
-
- void set_category(IconCategory category) {
- category_ = category;
- }
- void set_icon_side_length(int icon_side_length) {
- icon_side_length_ = icon_side_length;
- }
- void set_icon_url(const GURL& icon_url) {
- icon_url_ = icon_url;
- }
-
- private:
- // Parses and initializes data members from content of |value|.
- // Return false if parsing fails.
- bool Parse(const base::Value& value);
-
- // Extracts the icon category from the given string. Returns false and does
- // not change |result| when |scheme| has an unrecognizable value.
- static bool GetIconCategory(const base::StringPiece& category,
- IconCategory* result);
-
- friend class base::internal::RepeatedMessageConverter<DriveAppIcon>;
- friend class AppResource;
-
- IconCategory category_;
- int icon_side_length_;
- GURL icon_url_;
-
- DISALLOW_COPY_AND_ASSIGN(DriveAppIcon);
-};
-
-// AppResource represents a Drive Application.
-// https://developers.google.com/drive/v2/reference/apps
-class AppResource {
- public:
- ~AppResource();
- AppResource();
-
- // Registers the mapping between JSON field names and the members in this
- // class.
- static void RegisterJSONConverter(
- base::JSONValueConverter<AppResource>* converter);
-
- // Creates app resource from parsed JSON.
- static scoped_ptr<AppResource> CreateFrom(const base::Value& value);
-
- // Returns application ID, which is 12-digit decimals (e.g. "123456780123").
- const std::string& application_id() const { return application_id_; }
-
- // Returns application name.
- const std::string& name() const { return name_; }
-
- // Returns the name of the type of object this application creates.
- // This is used for displaying in "Create" menu item for this app.
- // If empty, application name is used instead.
- const std::string& object_type() const { return object_type_; }
-
- // Returns whether this application supports creating new objects.
- bool supports_create() const { return supports_create_; }
-
- // Returns whether this application supports importing Google Docs.
- bool supports_import() const { return supports_import_; }
-
- // Returns whether this application is installed.
- bool is_installed() const { return installed_; }
-
- // Returns whether this application is authorized to access data on the
- // user's Drive.
- bool is_authorized() const { return authorized_; }
-
- // Returns the product URL, e.g. at Chrome Web Store.
- const GURL& product_url() const { return product_url_; }
-
- // List of primary mime types supported by this WebApp. Primary status should
- // trigger this WebApp becoming the default handler of file instances that
- // have these mime types.
- const ScopedVector<std::string>& primary_mimetypes() const {
- return primary_mimetypes_;
- }
-
- // List of secondary mime types supported by this WebApp. Secondary status
- // should make this WebApp show up in "Open with..." pop-up menu of the
- // default action menu for file with matching mime types.
- const ScopedVector<std::string>& secondary_mimetypes() const {
- return secondary_mimetypes_;
- }
-
- // List of primary file extensions supported by this WebApp. Primary status
- // should trigger this WebApp becoming the default handler of file instances
- // that match these extensions.
- const ScopedVector<std::string>& primary_file_extensions() const {
- return primary_file_extensions_;
- }
-
- // List of secondary file extensions supported by this WebApp. Secondary
- // status should make this WebApp show up in "Open with..." pop-up menu of the
- // default action menu for file with matching extensions.
- const ScopedVector<std::string>& secondary_file_extensions() const {
- return secondary_file_extensions_;
- }
-
- // Returns Icons for this application. An application can have multiple
- // icons for different purpose (application, document, shared document)
- // in several sizes.
- const ScopedVector<DriveAppIcon>& icons() const {
- return icons_;
- }
-
- void set_application_id(const std::string& application_id) {
- application_id_ = application_id;
- }
- void set_name(const std::string& name) { name_ = name; }
- void set_object_type(const std::string& object_type) {
- object_type_ = object_type;
- }
- void set_supports_create(bool supports_create) {
- supports_create_ = supports_create;
- }
- void set_supports_import(bool supports_import) {
- supports_import_ = supports_import;
- }
- void set_installed(bool installed) { installed_ = installed; }
- void set_authorized(bool authorized) { authorized_ = authorized; }
- void set_product_url(const GURL& product_url) {
- product_url_ = product_url;
- }
- void set_primary_mimetypes(
- ScopedVector<std::string> primary_mimetypes) {
- primary_mimetypes_ = primary_mimetypes.Pass();
- }
- void set_secondary_mimetypes(
- ScopedVector<std::string> secondary_mimetypes) {
- secondary_mimetypes_ = secondary_mimetypes.Pass();
- }
- void set_primary_file_extensions(
- ScopedVector<std::string> primary_file_extensions) {
- primary_file_extensions_ = primary_file_extensions.Pass();
- }
- void set_secondary_file_extensions(
- ScopedVector<std::string> secondary_file_extensions) {
- secondary_file_extensions_ = secondary_file_extensions.Pass();
- }
- void set_icons(ScopedVector<DriveAppIcon> icons) {
- icons_ = icons.Pass();
- }
-
- private:
- friend class base::internal::RepeatedMessageConverter<AppResource>;
- friend class AppList;
-
- // Parses and initializes data members from content of |value|.
- // Return false if parsing fails.
- bool Parse(const base::Value& value);
-
- std::string application_id_;
- std::string name_;
- std::string object_type_;
- bool supports_create_;
- bool supports_import_;
- bool installed_;
- bool authorized_;
- GURL product_url_;
- ScopedVector<std::string> primary_mimetypes_;
- ScopedVector<std::string> secondary_mimetypes_;
- ScopedVector<std::string> primary_file_extensions_;
- ScopedVector<std::string> secondary_file_extensions_;
- ScopedVector<DriveAppIcon> icons_;
-
- DISALLOW_COPY_AND_ASSIGN(AppResource);
-};
-
-// AppList represents a list of Drive Applications.
-// https://developers.google.com/drive/v2/reference/apps/list
-class AppList {
- public:
- AppList();
- ~AppList();
-
- // Registers the mapping between JSON field names and the members in this
- // class.
- static void RegisterJSONConverter(
- base::JSONValueConverter<AppList>* converter);
-
- // Creates app list from parsed JSON.
- static scoped_ptr<AppList> CreateFrom(const base::Value& value);
-
- // ETag for this resource.
- const std::string& etag() const { return etag_; }
-
- // Returns a vector of applications.
- const ScopedVector<AppResource>& items() const { return items_; }
-
- void set_etag(const std::string& etag) {
- etag_ = etag;
- }
- void set_items(ScopedVector<AppResource> items) {
- items_ = items.Pass();
- }
-
- private:
- friend class DriveAPIParserTest;
- FRIEND_TEST_ALL_PREFIXES(DriveAPIParserTest, AppListParser);
-
- // Parses and initializes data members from content of |value|.
- // Return false if parsing fails.
- bool Parse(const base::Value& value);
-
- std::string etag_;
- ScopedVector<AppResource> items_;
-
- DISALLOW_COPY_AND_ASSIGN(AppList);
-};
-
-// ParentReference represents a directory.
-// https://developers.google.com/drive/v2/reference/parents
-class ParentReference {
- public:
- ParentReference();
- ~ParentReference();
-
- // Registers the mapping between JSON field names and the members in this
- // class.
- static void RegisterJSONConverter(
- base::JSONValueConverter<ParentReference>* converter);
-
- // Creates parent reference from parsed JSON.
- static scoped_ptr<ParentReference> CreateFrom(const base::Value& value);
-
- // Returns the file id of the reference.
- const std::string& file_id() const { return file_id_; }
-
- // Returns the URL for the parent in Drive.
- const GURL& parent_link() const { return parent_link_; }
-
- // Returns true if the reference is root directory.
- bool is_root() const { return is_root_; }
-
- void set_file_id(const std::string& file_id) { file_id_ = file_id; }
- void set_parent_link(const GURL& parent_link) {
- parent_link_ = parent_link;
- }
- void set_is_root(bool is_root) { is_root_ = is_root; }
-
- private:
- friend class base::internal::RepeatedMessageConverter<ParentReference>;
-
- // Parses and initializes data members from content of |value|.
- // Return false if parsing fails.
- bool Parse(const base::Value& value);
-
- std::string file_id_;
- GURL parent_link_;
- bool is_root_;
-
- DISALLOW_COPY_AND_ASSIGN(ParentReference);
-};
-
-// FileLabels represents labels for file or folder.
-// https://developers.google.com/drive/v2/reference/files
-class FileLabels {
- public:
- FileLabels();
- ~FileLabels();
-
- // Registers the mapping between JSON field names and the members in this
- // class.
- static void RegisterJSONConverter(
- base::JSONValueConverter<FileLabels>* converter);
-
- // Creates about resource from parsed JSON.
- static scoped_ptr<FileLabels> CreateFrom(const base::Value& value);
-
- // Whether this file is starred by the user.
- bool is_starred() const { return starred_; }
- // Whether this file is hidden from the user.
- bool is_hidden() const { return hidden_; }
- // Whether this file has been trashed.
- bool is_trashed() const { return trashed_; }
- // Whether viewers are prevented from downloading this file.
- bool is_restricted() const { return restricted_; }
- // Whether this file has been viewed by this user.
- bool is_viewed() const { return viewed_; }
-
- void set_starred(bool starred) { starred_ = starred; }
- void set_hidden(bool hidden) { hidden_ = hidden; }
- void set_trashed(bool trashed) { trashed_ = trashed; }
- void set_restricted(bool restricted) { restricted_ = restricted; }
- void set_viewed(bool viewed) { viewed_ = viewed; }
-
- private:
- friend class FileResource;
-
- // Parses and initializes data members from content of |value|.
- // Return false if parsing fails.
- bool Parse(const base::Value& value);
-
- bool starred_;
- bool hidden_;
- bool trashed_;
- bool restricted_;
- bool viewed_;
-
- DISALLOW_COPY_AND_ASSIGN(FileLabels);
-};
-
-// ImageMediaMetadata represents image metadata for a file.
-// https://developers.google.com/drive/v2/reference/files
-class ImageMediaMetadata {
- public:
- ImageMediaMetadata();
- ~ImageMediaMetadata();
-
- // Registers the mapping between JSON field names and the members in this
- // class.
- static void RegisterJSONConverter(
- base::JSONValueConverter<ImageMediaMetadata>* converter);
-
- // Creates about resource from parsed JSON.
- static scoped_ptr<ImageMediaMetadata> CreateFrom(const base::Value& value);
-
- // Width of the image in pixels.
- int width() const { return width_; }
- // Height of the image in pixels.
- int height() const { return height_; }
- // Rotation of the image in clockwise degrees.
- int rotation() const { return rotation_; }
-
- void set_width(int width) { width_ = width; }
- void set_height(int height) { height_ = height; }
- void set_rotation(int rotation) { rotation_ = rotation; }
-
- private:
- friend class FileResource;
-
- // Parses and initializes data members from content of |value|.
- // Return false if parsing fails.
- bool Parse(const base::Value& value);
-
- int width_;
- int height_;
- int rotation_;
-
- DISALLOW_COPY_AND_ASSIGN(ImageMediaMetadata);
-};
-
-
-// FileResource represents a file or folder metadata in Drive.
-// https://developers.google.com/drive/v2/reference/files
-class FileResource {
- public:
- // Link to open a file resource on a web app with |app_id|.
- struct OpenWithLink {
- std::string app_id;
- GURL open_url;
- };
-
- FileResource();
- ~FileResource();
-
- // Registers the mapping between JSON field names and the members in this
- // class.
- static void RegisterJSONConverter(
- base::JSONValueConverter<FileResource>* converter);
-
- // Creates file resource from parsed JSON.
- static scoped_ptr<FileResource> CreateFrom(const base::Value& value);
-
- // Returns true if this is a directory.
- // Note: "folder" is used elsewhere in this file to match Drive API reference,
- // but outside this file we use "directory" to match HTML5 filesystem API.
- bool IsDirectory() const;
-
- // Returns file ID. This is unique in all files in Google Drive.
- const std::string& file_id() const { return file_id_; }
-
- // Returns ETag for this file.
- const std::string& etag() const { return etag_; }
-
- // Returns the link to JSON of this file itself.
- const GURL& self_link() const { return self_link_; }
-
- // Returns the title of this file.
- const std::string& title() const { return title_; }
-
- // Returns MIME type of this file.
- const std::string& mime_type() const { return mime_type_; }
-
- // Returns labels for this file.
- const FileLabels& labels() const { return labels_; }
-
- // Returns image media metadata for this file.
- const ImageMediaMetadata& image_media_metadata() const {
- return image_media_metadata_;
- }
-
- // Returns created time of this file.
- const base::Time& created_date() const { return created_date_; }
-
- // Returns modified time of this file.
- const base::Time& modified_date() const { return modified_date_; }
-
- // Returns modification time by the user.
- const base::Time& modified_by_me_date() const { return modified_by_me_date_; }
-
- // Returns last access time by the user.
- const base::Time& last_viewed_by_me_date() const {
- return last_viewed_by_me_date_;
- }
-
- // Returns time when the file was shared with the user.
- const base::Time& shared_with_me_date() const {
- return shared_with_me_date_;
- }
-
- // Returns the short-lived download URL for the file. This field exists
- // only when the file content is stored in Drive.
- const GURL& download_url() const { return download_url_; }
-
- // Returns the extension part of the filename.
- const std::string& file_extension() const { return file_extension_; }
-
- // Returns MD5 checksum of this file.
- const std::string& md5_checksum() const { return md5_checksum_; }
-
- // Returns the size of this file in bytes.
- int64 file_size() const { return file_size_; }
-
- // Return the link to open the file in Google editor or viewer.
- // E.g. Google Document, Google Spreadsheet.
- const GURL& alternate_link() const { return alternate_link_; }
-
- // Returns the link for embedding the file.
- const GURL& embed_link() const { return embed_link_; }
-
- // Returns parent references (directories) of this file.
- const ScopedVector<ParentReference>& parents() const { return parents_; }
-
- // Returns the link to the file's thumbnail.
- const GURL& thumbnail_link() const { return thumbnail_link_; }
-
- // Returns the link to open its downloadable content, using cookie based
- // authentication.
- const GURL& web_content_link() const { return web_content_link_; }
-
- // Returns the list of links to open the resource with a web app.
- const std::vector<OpenWithLink>& open_with_links() const {
- return open_with_links_;
- }
-
- void set_file_id(const std::string& file_id) {
- file_id_ = file_id;
- }
- void set_etag(const std::string& etag) {
- etag_ = etag;
- }
- void set_self_link(const GURL& self_link) {
- self_link_ = self_link;
- }
- void set_title(const std::string& title) {
- title_ = title;
- }
- void set_mime_type(const std::string& mime_type) {
- mime_type_ = mime_type;
- }
- FileLabels* mutable_labels() {
- return &labels_;
- }
- ImageMediaMetadata* mutable_image_media_metadata() {
- return &image_media_metadata_;
- }
- void set_created_date(const base::Time& created_date) {
- created_date_ = created_date;
- }
- void set_modified_date(const base::Time& modified_date) {
- modified_date_ = modified_date;
- }
- void set_modified_by_me_date(const base::Time& modified_by_me_date) {
- modified_by_me_date_ = modified_by_me_date;
- }
- void set_last_viewed_by_me_date(const base::Time& last_viewed_by_me_date) {
- last_viewed_by_me_date_ = last_viewed_by_me_date;
- }
- void set_shared_with_me_date(const base::Time& shared_with_me_date) {
- shared_with_me_date_ = shared_with_me_date;
- }
- void set_download_url(const GURL& download_url) {
- download_url_ = download_url;
- }
- void set_file_extension(const std::string& file_extension) {
- file_extension_ = file_extension;
- }
- void set_md5_checksum(const std::string& md5_checksum) {
- md5_checksum_ = md5_checksum;
- }
- void set_file_size(int64 file_size) {
- file_size_ = file_size;
- }
- void set_alternate_link(const GURL& alternate_link) {
- alternate_link_ = alternate_link;
- }
- void set_embed_link(const GURL& embed_link) {
- embed_link_ = embed_link;
- }
- void set_parents(ScopedVector<ParentReference> parents) {
- parents_ = parents.Pass();
- }
- void set_thumbnail_link(const GURL& thumbnail_link) {
- thumbnail_link_ = thumbnail_link;
- }
- void set_web_content_link(const GURL& web_content_link) {
- web_content_link_ = web_content_link;
- }
-
- private:
- friend class base::internal::RepeatedMessageConverter<FileResource>;
- friend class ChangeResource;
- friend class FileList;
-
- // Parses and initializes data members from content of |value|.
- // Return false if parsing fails.
- bool Parse(const base::Value& value);
-
- std::string file_id_;
- std::string etag_;
- GURL self_link_;
- std::string title_;
- std::string mime_type_;
- FileLabels labels_;
- ImageMediaMetadata image_media_metadata_;
- base::Time created_date_;
- base::Time modified_date_;
- base::Time modified_by_me_date_;
- base::Time last_viewed_by_me_date_;
- base::Time shared_with_me_date_;
- GURL download_url_;
- std::string file_extension_;
- std::string md5_checksum_;
- int64 file_size_;
- GURL alternate_link_;
- GURL embed_link_;
- ScopedVector<ParentReference> parents_;
- GURL thumbnail_link_;
- GURL web_content_link_;
- std::vector<OpenWithLink> open_with_links_;
-
- DISALLOW_COPY_AND_ASSIGN(FileResource);
-};
-
-// FileList represents a collection of files and folders.
-// https://developers.google.com/drive/v2/reference/files/list
-class FileList {
- public:
- FileList();
- ~FileList();
-
- // Registers the mapping between JSON field names and the members in this
- // class.
- static void RegisterJSONConverter(
- base::JSONValueConverter<FileList>* converter);
-
- // Returns true if the |value| has kind field for FileList.
- static bool HasFileListKind(const base::Value& value);
-
- // Creates file list from parsed JSON.
- static scoped_ptr<FileList> CreateFrom(const base::Value& value);
-
- // Returns the ETag of the list.
- const std::string& etag() const { return etag_; }
-
- // Returns the page token for the next page of files, if the list is large
- // to fit in one response. If this is empty, there is no more file lists.
- const std::string& next_page_token() const { return next_page_token_; }
-
- // Returns a link to the next page of files. The URL includes the next page
- // token.
- const GURL& next_link() const { return next_link_; }
-
- // Returns a set of files in this list.
- const ScopedVector<FileResource>& items() const { return items_; }
-
- void set_etag(const std::string& etag) {
- etag_ = etag;
- }
- void set_next_page_token(const std::string& next_page_token) {
- next_page_token_ = next_page_token;
- }
- void set_next_link(const GURL& next_link) {
- next_link_ = next_link;
- }
- void set_items(ScopedVector<FileResource> items) {
- items_ = items.Pass();
- }
-
- private:
- friend class DriveAPIParserTest;
- FRIEND_TEST_ALL_PREFIXES(DriveAPIParserTest, FileListParser);
-
- // Parses and initializes data members from content of |value|.
- // Return false if parsing fails.
- bool Parse(const base::Value& value);
-
- std::string etag_;
- std::string next_page_token_;
- GURL next_link_;
- ScopedVector<FileResource> items_;
-
- DISALLOW_COPY_AND_ASSIGN(FileList);
-};
-
-// ChangeResource represents a change in a file.
-// https://developers.google.com/drive/v2/reference/changes
-class ChangeResource {
- public:
- ChangeResource();
- ~ChangeResource();
-
- // Registers the mapping between JSON field names and the members in this
- // class.
- static void RegisterJSONConverter(
- base::JSONValueConverter<ChangeResource>* converter);
-
- // Creates change resource from parsed JSON.
- static scoped_ptr<ChangeResource> CreateFrom(const base::Value& value);
-
- // Returns change ID for this change. This is a monotonically increasing
- // number.
- int64 change_id() const { return change_id_; }
-
- // Returns a string file ID for corresponding file of the change.
- const std::string& file_id() const { return file_id_; }
-
- // Returns true if this file is deleted in the change.
- bool is_deleted() const { return deleted_; }
-
- // Returns FileResource of the file which the change refers to.
- const FileResource* file() const { return file_.get(); }
-
- void set_change_id(int64 change_id) {
- change_id_ = change_id;
- }
- void set_file_id(const std::string& file_id) {
- file_id_ = file_id;
- }
- void set_deleted(bool deleted) {
- deleted_ = deleted;
- }
- void set_file(scoped_ptr<FileResource> file) {
- file_ = file.Pass();
- }
-
- private:
- friend class base::internal::RepeatedMessageConverter<ChangeResource>;
- friend class ChangeList;
-
- // Parses and initializes data members from content of |value|.
- // Return false if parsing fails.
- bool Parse(const base::Value& value);
-
- int64 change_id_;
- std::string file_id_;
- bool deleted_;
- scoped_ptr<FileResource> file_;
-
- DISALLOW_COPY_AND_ASSIGN(ChangeResource);
-};
-
-// ChangeList represents a set of changes in the drive.
-// https://developers.google.com/drive/v2/reference/changes/list
-class ChangeList {
- public:
- ChangeList();
- ~ChangeList();
-
- // Registers the mapping between JSON field names and the members in this
- // class.
- static void RegisterJSONConverter(
- base::JSONValueConverter<ChangeList>* converter);
-
- // Returns true if the |value| has kind field for ChangeList.
- static bool HasChangeListKind(const base::Value& value);
-
- // Creates change list from parsed JSON.
- static scoped_ptr<ChangeList> CreateFrom(const base::Value& value);
-
- // Returns the ETag of the list.
- const std::string& etag() const { return etag_; }
-
- // Returns the page token for the next page of files, if the list is large
- // to fit in one response. If this is empty, there is no more file lists.
- const std::string& next_page_token() const { return next_page_token_; }
-
- // Returns a link to the next page of files. The URL includes the next page
- // token.
- const GURL& next_link() const { return next_link_; }
-
- // Returns the largest change ID number.
- int64 largest_change_id() const { return largest_change_id_; }
-
- // Returns a set of changes in this list.
- const ScopedVector<ChangeResource>& items() const { return items_; }
-
- void set_etag(const std::string& etag) {
- etag_ = etag;
- }
- void set_next_page_token(const std::string& next_page_token) {
- next_page_token_ = next_page_token;
- }
- void set_next_link(const GURL& next_link) {
- next_link_ = next_link;
- }
- void set_largest_change_id(int64 largest_change_id) {
- largest_change_id_ = largest_change_id;
- }
- void set_items(ScopedVector<ChangeResource> items) {
- items_ = items.Pass();
- }
-
- private:
- friend class DriveAPIParserTest;
- FRIEND_TEST_ALL_PREFIXES(DriveAPIParserTest, ChangeListParser);
-
- // Parses and initializes data members from content of |value|.
- // Return false if parsing fails.
- bool Parse(const base::Value& value);
-
- std::string etag_;
- std::string next_page_token_;
- GURL next_link_;
- int64 largest_change_id_;
- ScopedVector<ChangeResource> items_;
-
- DISALLOW_COPY_AND_ASSIGN(ChangeList);
-};
-
-} // namespace google_apis
-
-#endif // CHROME_BROWSER_GOOGLE_APIS_DRIVE_API_PARSER_H_
« no previous file with comments | « chrome/browser/google_apis/base_requests_unittest.cc ('k') | chrome/browser/google_apis/drive_api_parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698