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

Side by Side Diff: trunk/src/google_apis/drive/drive_api_requests.h

Issue 449323002: Revert 288017 "Parse Drive API responses all at once in the bloc..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef GOOGLE_APIS_DRIVE_DRIVE_API_REQUESTS_H_ 5 #ifndef GOOGLE_APIS_DRIVE_DRIVE_API_REQUESTS_H_
6 #define GOOGLE_APIS_DRIVE_DRIVE_API_REQUESTS_H_ 6 #define GOOGLE_APIS_DRIVE_DRIVE_API_REQUESTS_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/callback_forward.h" 10 #include "base/callback_forward.h"
11 #include "base/location.h"
12 #include "base/sequenced_task_runner.h"
13 #include "base/task_runner_util.h"
14 #include "base/time/time.h" 11 #include "base/time/time.h"
15 #include "base/values.h"
16 #include "google_apis/drive/base_requests.h" 12 #include "google_apis/drive/base_requests.h"
17 #include "google_apis/drive/drive_api_parser.h"
18 #include "google_apis/drive/drive_api_url_generator.h" 13 #include "google_apis/drive/drive_api_url_generator.h"
19 #include "google_apis/drive/drive_common_callbacks.h" 14 #include "google_apis/drive/drive_common_callbacks.h"
20 15
21 namespace google_apis { 16 namespace google_apis {
22 17
18 class ChangeList;
19 class FileResource;
20 class FileList;
21
23 // Callback used for requests that the server returns FileResource data 22 // Callback used for requests that the server returns FileResource data
24 // formatted into JSON value. 23 // formatted into JSON value.
25 typedef base::Callback<void(GDataErrorCode error, 24 typedef base::Callback<void(GDataErrorCode error,
26 scoped_ptr<FileResource> entry)> 25 scoped_ptr<FileResource> entry)>
27 FileResourceCallback; 26 FileResourceCallback;
28 27
29 // Callback used for requests that the server returns FileList data 28 // Callback used for requests that the server returns FileList data
30 // formatted into JSON value. 29 // formatted into JSON value.
31 typedef base::Callback<void(GDataErrorCode error, 30 typedef base::Callback<void(GDataErrorCode error,
32 scoped_ptr<FileList> entry)> FileListCallback; 31 scoped_ptr<FileList> entry)> FileListCallback;
33 32
34 // Callback used for requests that the server returns ChangeList data 33 // Callback used for requests that the server returns ChangeList data
35 // formatted into JSON value. 34 // formatted into JSON value.
36 typedef base::Callback<void(GDataErrorCode error, 35 typedef base::Callback<void(GDataErrorCode error,
37 scoped_ptr<ChangeList> entry)> ChangeListCallback; 36 scoped_ptr<ChangeList> entry)> ChangeListCallback;
38 37
39 namespace drive { 38 namespace drive {
40 39
41 //============================ DriveApiPartialFieldRequest ==================== 40 //============================ DriveApiDataRequest ===========================
42 41
43 // This is base class of the Drive API related requests. All Drive API requests 42 // This is base class of the Drive API related requests. All Drive API requests
44 // support partial request (to improve the performance). The function can be 43 // support partial request (to improve the performance). The function can be
45 // shared among the Drive API requests. 44 // shared among the Drive API requests.
46 // See also https://developers.google.com/drive/performance 45 // See also https://developers.google.com/drive/performance
47 class DriveApiPartialFieldRequest : public UrlFetchRequestBase { 46 class DriveApiDataRequest : public GetDataRequest {
48 public: 47 public:
49 explicit DriveApiPartialFieldRequest(RequestSender* sender); 48 DriveApiDataRequest(RequestSender* sender, const GetDataCallback& callback);
50 virtual ~DriveApiPartialFieldRequest(); 49 virtual ~DriveApiDataRequest();
51 50
52 // Optional parameter. 51 // Optional parameter.
53 const std::string& fields() const { return fields_; } 52 const std::string& fields() const { return fields_; }
54 void set_fields(const std::string& fields) { fields_ = fields; } 53 void set_fields(const std::string& fields) { fields_ = fields; }
55 54
56 protected: 55 protected:
57 // UrlFetchRequestBase overrides. 56 // Overridden from GetDataRequest.
58 virtual GURL GetURL() const OVERRIDE; 57 virtual GURL GetURL() const OVERRIDE;
59 58
60 // Derived classes should override GetURLInternal instead of GetURL() 59 // Derived classes should override GetURLInternal instead of GetURL()
61 // directly. 60 // directly.
62 virtual GURL GetURLInternal() const = 0; 61 virtual GURL GetURLInternal() const = 0;
63 62
64 private: 63 private:
65 std::string fields_; 64 std::string fields_;
66 65
67 DISALLOW_COPY_AND_ASSIGN(DriveApiPartialFieldRequest);
68 };
69
70 //============================ DriveApiDataRequest ===========================
71
72 // The base class of Drive API related requests that receive a JSON response
73 // representing |DataType|.
74 template<class DataType>
75 class DriveApiDataRequest : public DriveApiPartialFieldRequest {
76 public:
77 typedef base::Callback<void(GDataErrorCode error,
78 scoped_ptr<DataType> data)> Callback;
79
80 // |callback| is called when the request finishes either by success or by
81 // failure. On success, a JSON Value object is passed. It must not be null.
82 DriveApiDataRequest(RequestSender* sender, const Callback& callback)
83 : DriveApiPartialFieldRequest(sender),
84 callback_(callback),
85 weak_ptr_factory_(this) {
86 DCHECK(!callback_.is_null());
87 }
88 virtual ~DriveApiDataRequest() {}
89
90 protected:
91 // UrlFetchRequestBase overrides.
92 virtual void ProcessURLFetchResults(const net::URLFetcher* source) OVERRIDE {
93 GDataErrorCode error = GetErrorCode();
94 switch (error) {
95 case HTTP_SUCCESS:
96 case HTTP_CREATED:
97 base::PostTaskAndReplyWithResult(
98 blocking_task_runner(),
99 FROM_HERE,
100 base::Bind(&DriveApiDataRequest::Parse, response_writer()->data()),
101 base::Bind(&DriveApiDataRequest::OnDataParsed,
102 weak_ptr_factory_.GetWeakPtr(), error));
103 break;
104 default:
105 RunCallbackOnPrematureFailure(error);
106 OnProcessURLFetchResultsComplete();
107 break;
108 }
109 }
110
111 virtual void RunCallbackOnPrematureFailure(GDataErrorCode error) OVERRIDE {
112 callback_.Run(error, scoped_ptr<DataType>());
113 }
114
115 private:
116 // Parses the |json| string by using DataType::CreateFrom.
117 static scoped_ptr<DataType> Parse(const std::string& json) {
118 scoped_ptr<base::Value> value = ParseJson(json);
119 return value ? DataType::CreateFrom(*value) : scoped_ptr<DataType>();
120 }
121
122 // Receives the parsed result and invokes the callback.
123 void OnDataParsed(GDataErrorCode error, scoped_ptr<DataType> value) {
124 callback_.Run(value ? error : GDATA_PARSE_ERROR, value.Pass());
125 OnProcessURLFetchResultsComplete();
126 }
127
128 const Callback callback_;
129
130 // Note: This should remain the last member so it'll be destroyed and
131 // invalidate its weak pointers before any other members are destroyed.
132 base::WeakPtrFactory<DriveApiDataRequest> weak_ptr_factory_;
133
134 DISALLOW_COPY_AND_ASSIGN(DriveApiDataRequest); 66 DISALLOW_COPY_AND_ASSIGN(DriveApiDataRequest);
135 }; 67 };
136 68
137 //=============================== FilesGetRequest ============================= 69 //=============================== FilesGetRequest =============================
138 70
139 // This class performs the request for fetching a file. 71 // This class performs the request for fetching a file.
140 // This request is mapped to 72 // This request is mapped to
141 // https://developers.google.com/drive/v2/reference/files/get 73 // https://developers.google.com/drive/v2/reference/files/get
142 class FilesGetRequest : public DriveApiDataRequest<FileResource> { 74 class FilesGetRequest : public DriveApiDataRequest {
143 public: 75 public:
144 FilesGetRequest(RequestSender* sender, 76 FilesGetRequest(RequestSender* sender,
145 const DriveApiUrlGenerator& url_generator, 77 const DriveApiUrlGenerator& url_generator,
146 const FileResourceCallback& callback); 78 const FileResourceCallback& callback);
147 virtual ~FilesGetRequest(); 79 virtual ~FilesGetRequest();
148 80
149 // Required parameter. 81 // Required parameter.
150 const std::string& file_id() const { return file_id_; } 82 const std::string& file_id() const { return file_id_; }
151 void set_file_id(const std::string& file_id) { file_id_ = file_id; } 83 void set_file_id(const std::string& file_id) { file_id_ = file_id; }
152 84
153 protected: 85 protected:
154 // Overridden from DriveApiDataRequest. 86 // Overridden from DriveApiDataRequest.
155 virtual GURL GetURLInternal() const OVERRIDE; 87 virtual GURL GetURLInternal() const OVERRIDE;
156 88
157 private: 89 private:
158 const DriveApiUrlGenerator url_generator_; 90 const DriveApiUrlGenerator url_generator_;
159 std::string file_id_; 91 std::string file_id_;
160 92
161 DISALLOW_COPY_AND_ASSIGN(FilesGetRequest); 93 DISALLOW_COPY_AND_ASSIGN(FilesGetRequest);
162 }; 94 };
163 95
164 //============================ FilesAuthorizeRequest =========================== 96 //============================ FilesAuthorizeRequest ===========================
165 97
166 // This class performs request for authorizing an app to access a file. 98 // This class performs request for authorizing an app to access a file.
167 // This request is mapped to /drive/v2internal/file/authorize internal endpoint. 99 // This request is mapped to /drive/v2internal/file/authorize internal endpoint.
168 class FilesAuthorizeRequest : public DriveApiDataRequest<FileResource> { 100 class FilesAuthorizeRequest : public DriveApiDataRequest {
169 public: 101 public:
170 FilesAuthorizeRequest(RequestSender* sender, 102 FilesAuthorizeRequest(RequestSender* sender,
171 const DriveApiUrlGenerator& url_generator, 103 const DriveApiUrlGenerator& url_generator,
172 const FileResourceCallback& callback); 104 const FileResourceCallback& callback);
173 virtual ~FilesAuthorizeRequest(); 105 virtual ~FilesAuthorizeRequest();
174 106
175 // Required parameter. 107 // Required parameter.
176 const std::string& file_id() const { return file_id_; } 108 const std::string& file_id() const { return file_id_; }
177 void set_file_id(const std::string& file_id) { file_id_ = file_id; } 109 void set_file_id(const std::string& file_id) { file_id_ = file_id; }
178 const std::string& app_id() const { return app_id_; } 110 const std::string& app_id() const { return app_id_; }
(...skipping 14 matching lines...) Expand all
193 DISALLOW_COPY_AND_ASSIGN(FilesAuthorizeRequest); 125 DISALLOW_COPY_AND_ASSIGN(FilesAuthorizeRequest);
194 }; 126 };
195 127
196 //============================ FilesInsertRequest ============================= 128 //============================ FilesInsertRequest =============================
197 129
198 // This class performs the request for creating a resource. 130 // This class performs the request for creating a resource.
199 // This request is mapped to 131 // This request is mapped to
200 // https://developers.google.com/drive/v2/reference/files/insert 132 // https://developers.google.com/drive/v2/reference/files/insert
201 // See also https://developers.google.com/drive/manage-uploads and 133 // See also https://developers.google.com/drive/manage-uploads and
202 // https://developers.google.com/drive/folder 134 // https://developers.google.com/drive/folder
203 class FilesInsertRequest : public DriveApiDataRequest<FileResource> { 135 class FilesInsertRequest : public DriveApiDataRequest {
204 public: 136 public:
205 FilesInsertRequest(RequestSender* sender, 137 FilesInsertRequest(RequestSender* sender,
206 const DriveApiUrlGenerator& url_generator, 138 const DriveApiUrlGenerator& url_generator,
207 const FileResourceCallback& callback); 139 const FileResourceCallback& callback);
208 virtual ~FilesInsertRequest(); 140 virtual ~FilesInsertRequest();
209 141
210 // Optional request body. 142 // Optional request body.
211 const base::Time& last_viewed_by_me_date() const { 143 const base::Time& last_viewed_by_me_date() const {
212 return last_viewed_by_me_date_; 144 return last_viewed_by_me_date_;
213 } 145 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 std::string title_; 182 std::string title_;
251 183
252 DISALLOW_COPY_AND_ASSIGN(FilesInsertRequest); 184 DISALLOW_COPY_AND_ASSIGN(FilesInsertRequest);
253 }; 185 };
254 186
255 //============================== FilesPatchRequest ============================ 187 //============================== FilesPatchRequest ============================
256 188
257 // This class performs the request for patching file metadata. 189 // This class performs the request for patching file metadata.
258 // This request is mapped to 190 // This request is mapped to
259 // https://developers.google.com/drive/v2/reference/files/patch 191 // https://developers.google.com/drive/v2/reference/files/patch
260 class FilesPatchRequest : public DriveApiDataRequest<FileResource> { 192 class FilesPatchRequest : public DriveApiDataRequest {
261 public: 193 public:
262 FilesPatchRequest(RequestSender* sender, 194 FilesPatchRequest(RequestSender* sender,
263 const DriveApiUrlGenerator& url_generator, 195 const DriveApiUrlGenerator& url_generator,
264 const FileResourceCallback& callback); 196 const FileResourceCallback& callback);
265 virtual ~FilesPatchRequest(); 197 virtual ~FilesPatchRequest();
266 198
267 // Required parameter. 199 // Required parameter.
268 const std::string& file_id() const { return file_id_; } 200 const std::string& file_id() const { return file_id_; }
269 void set_file_id(const std::string& file_id) { file_id_ = file_id; } 201 void set_file_id(const std::string& file_id) { file_id_ = file_id; }
270 202
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 std::vector<std::string> parents_; 256 std::vector<std::string> parents_;
325 257
326 DISALLOW_COPY_AND_ASSIGN(FilesPatchRequest); 258 DISALLOW_COPY_AND_ASSIGN(FilesPatchRequest);
327 }; 259 };
328 260
329 //============================= FilesCopyRequest ============================== 261 //============================= FilesCopyRequest ==============================
330 262
331 // This class performs the request for copying a resource. 263 // This class performs the request for copying a resource.
332 // This request is mapped to 264 // This request is mapped to
333 // https://developers.google.com/drive/v2/reference/files/copy 265 // https://developers.google.com/drive/v2/reference/files/copy
334 class FilesCopyRequest : public DriveApiDataRequest<FileResource> { 266 class FilesCopyRequest : public DriveApiDataRequest {
335 public: 267 public:
336 // Upon completion, |callback| will be called. |callback| must not be null. 268 // Upon completion, |callback| will be called. |callback| must not be null.
337 FilesCopyRequest(RequestSender* sender, 269 FilesCopyRequest(RequestSender* sender,
338 const DriveApiUrlGenerator& url_generator, 270 const DriveApiUrlGenerator& url_generator,
339 const FileResourceCallback& callback); 271 const FileResourceCallback& callback);
340 virtual ~FilesCopyRequest(); 272 virtual ~FilesCopyRequest();
341 273
342 // Required parameter. 274 // Required parameter.
343 const std::string& file_id() const { return file_id_; } 275 const std::string& file_id() const { return file_id_; }
344 void set_file_id(const std::string& file_id) { file_id_ = file_id; } 276 void set_file_id(const std::string& file_id) { file_id_ = file_id; }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 }; 308 };
377 309
378 //============================= FilesListRequest ============================= 310 //============================= FilesListRequest =============================
379 311
380 // This class performs the request for fetching FileList. 312 // This class performs the request for fetching FileList.
381 // The result may contain only first part of the result. The remaining result 313 // The result may contain only first part of the result. The remaining result
382 // should be able to be fetched by ContinueGetFileListRequest defined below, 314 // should be able to be fetched by ContinueGetFileListRequest defined below,
383 // or by FilesListRequest with setting page token. 315 // or by FilesListRequest with setting page token.
384 // This request is mapped to 316 // This request is mapped to
385 // https://developers.google.com/drive/v2/reference/files/list 317 // https://developers.google.com/drive/v2/reference/files/list
386 class FilesListRequest : public DriveApiDataRequest<FileList> { 318 class FilesListRequest : public DriveApiDataRequest {
387 public: 319 public:
388 FilesListRequest(RequestSender* sender, 320 FilesListRequest(RequestSender* sender,
389 const DriveApiUrlGenerator& url_generator, 321 const DriveApiUrlGenerator& url_generator,
390 const FileListCallback& callback); 322 const FileListCallback& callback);
391 virtual ~FilesListRequest(); 323 virtual ~FilesListRequest();
392 324
393 // Optional parameter 325 // Optional parameter
394 int max_results() const { return max_results_; } 326 int max_results() const { return max_results_; }
395 void set_max_results(int max_results) { max_results_ = max_results; } 327 void set_max_results(int max_results) { max_results_ = max_results; }
396 328
(...skipping 17 matching lines...) Expand all
414 346
415 DISALLOW_COPY_AND_ASSIGN(FilesListRequest); 347 DISALLOW_COPY_AND_ASSIGN(FilesListRequest);
416 }; 348 };
417 349
418 //========================= FilesListNextPageRequest ========================== 350 //========================= FilesListNextPageRequest ==========================
419 351
420 // There are two ways to obtain next pages of "Files: list" result (if paged). 352 // There are two ways to obtain next pages of "Files: list" result (if paged).
421 // 1) Set pageToken and all params used for the initial request. 353 // 1) Set pageToken and all params used for the initial request.
422 // 2) Use URL in the nextLink field in the previous response. 354 // 2) Use URL in the nextLink field in the previous response.
423 // This class implements 2)'s request. 355 // This class implements 2)'s request.
424 class FilesListNextPageRequest : public DriveApiDataRequest<FileList> { 356 class FilesListNextPageRequest : public DriveApiDataRequest {
425 public: 357 public:
426 FilesListNextPageRequest(RequestSender* sender, 358 FilesListNextPageRequest(RequestSender* sender,
427 const FileListCallback& callback); 359 const FileListCallback& callback);
428 virtual ~FilesListNextPageRequest(); 360 virtual ~FilesListNextPageRequest();
429 361
430 const GURL& next_link() const { return next_link_; } 362 const GURL& next_link() const { return next_link_; }
431 void set_next_link(const GURL& next_link) { next_link_ = next_link; } 363 void set_next_link(const GURL& next_link) { next_link_ = next_link; }
432 364
433 protected: 365 protected:
434 // Overridden from DriveApiDataRequest. 366 // Overridden from DriveApiDataRequest.
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 std::string etag_; 401 std::string etag_;
470 402
471 DISALLOW_COPY_AND_ASSIGN(FilesDeleteRequest); 403 DISALLOW_COPY_AND_ASSIGN(FilesDeleteRequest);
472 }; 404 };
473 405
474 //============================= FilesTrashRequest ============================== 406 //============================= FilesTrashRequest ==============================
475 407
476 // This class performs the request for trashing a resource. 408 // This class performs the request for trashing a resource.
477 // This request is mapped to 409 // This request is mapped to
478 // https://developers.google.com/drive/v2/reference/files/trash 410 // https://developers.google.com/drive/v2/reference/files/trash
479 class FilesTrashRequest : public DriveApiDataRequest<FileResource> { 411 class FilesTrashRequest : public DriveApiDataRequest {
480 public: 412 public:
481 FilesTrashRequest(RequestSender* sender, 413 FilesTrashRequest(RequestSender* sender,
482 const DriveApiUrlGenerator& url_generator, 414 const DriveApiUrlGenerator& url_generator,
483 const FileResourceCallback& callback); 415 const FileResourceCallback& callback);
484 virtual ~FilesTrashRequest(); 416 virtual ~FilesTrashRequest();
485 417
486 // Required parameter. 418 // Required parameter.
487 const std::string& file_id() const { return file_id_; } 419 const std::string& file_id() const { return file_id_; }
488 void set_file_id(const std::string& file_id) { file_id_ = file_id; } 420 void set_file_id(const std::string& file_id) { file_id_ = file_id; }
489 421
490 protected: 422 protected:
491 // Overridden from UrlFetchRequestBase. 423 // Overridden from UrlFetchRequestBase.
492 virtual net::URLFetcher::RequestType GetRequestType() const OVERRIDE; 424 virtual net::URLFetcher::RequestType GetRequestType() const OVERRIDE;
493 425
494 // Overridden from DriveApiDataRequest. 426 // Overridden from DriveApiDataRequest.
495 virtual GURL GetURLInternal() const OVERRIDE; 427 virtual GURL GetURLInternal() const OVERRIDE;
496 428
497 private: 429 private:
498 const DriveApiUrlGenerator url_generator_; 430 const DriveApiUrlGenerator url_generator_;
499 std::string file_id_; 431 std::string file_id_;
500 432
501 DISALLOW_COPY_AND_ASSIGN(FilesTrashRequest); 433 DISALLOW_COPY_AND_ASSIGN(FilesTrashRequest);
502 }; 434 };
503 435
504 //============================== AboutGetRequest ============================= 436 //============================== AboutGetRequest =============================
505 437
506 // This class performs the request for fetching About data. 438 // This class performs the request for fetching About data.
507 // This request is mapped to 439 // This request is mapped to
508 // https://developers.google.com/drive/v2/reference/about/get 440 // https://developers.google.com/drive/v2/reference/about/get
509 class AboutGetRequest : public DriveApiDataRequest<AboutResource> { 441 class AboutGetRequest : public DriveApiDataRequest {
510 public: 442 public:
511 AboutGetRequest(RequestSender* sender, 443 AboutGetRequest(RequestSender* sender,
512 const DriveApiUrlGenerator& url_generator, 444 const DriveApiUrlGenerator& url_generator,
513 const AboutResourceCallback& callback); 445 const AboutResourceCallback& callback);
514 virtual ~AboutGetRequest(); 446 virtual ~AboutGetRequest();
515 447
516 protected: 448 protected:
517 // Overridden from DriveApiDataRequest. 449 // Overridden from DriveApiDataRequest.
518 virtual GURL GetURLInternal() const OVERRIDE; 450 virtual GURL GetURLInternal() const OVERRIDE;
519 451
520 private: 452 private:
521 const DriveApiUrlGenerator url_generator_; 453 const DriveApiUrlGenerator url_generator_;
522 454
523 DISALLOW_COPY_AND_ASSIGN(AboutGetRequest); 455 DISALLOW_COPY_AND_ASSIGN(AboutGetRequest);
524 }; 456 };
525 457
526 //============================ ChangesListRequest ============================ 458 //============================ ChangesListRequest ============================
527 459
528 // This class performs the request for fetching ChangeList. 460 // This class performs the request for fetching ChangeList.
529 // The result may contain only first part of the result. The remaining result 461 // The result may contain only first part of the result. The remaining result
530 // should be able to be fetched by ContinueGetFileListRequest defined below. 462 // should be able to be fetched by ContinueGetFileListRequest defined below.
531 // or by ChangesListRequest with setting page token. 463 // or by ChangesListRequest with setting page token.
532 // This request is mapped to 464 // This request is mapped to
533 // https://developers.google.com/drive/v2/reference/changes/list 465 // https://developers.google.com/drive/v2/reference/changes/list
534 class ChangesListRequest : public DriveApiDataRequest<ChangeList> { 466 class ChangesListRequest : public DriveApiDataRequest {
535 public: 467 public:
536 ChangesListRequest(RequestSender* sender, 468 ChangesListRequest(RequestSender* sender,
537 const DriveApiUrlGenerator& url_generator, 469 const DriveApiUrlGenerator& url_generator,
538 const ChangeListCallback& callback); 470 const ChangeListCallback& callback);
539 virtual ~ChangesListRequest(); 471 virtual ~ChangesListRequest();
540 472
541 // Optional parameter 473 // Optional parameter
542 bool include_deleted() const { return include_deleted_; } 474 bool include_deleted() const { return include_deleted_; }
543 void set_include_deleted(bool include_deleted) { 475 void set_include_deleted(bool include_deleted) {
544 include_deleted_ = include_deleted; 476 include_deleted_ = include_deleted;
(...skipping 25 matching lines...) Expand all
570 502
571 DISALLOW_COPY_AND_ASSIGN(ChangesListRequest); 503 DISALLOW_COPY_AND_ASSIGN(ChangesListRequest);
572 }; 504 };
573 505
574 //======================== ChangesListNextPageRequest ========================= 506 //======================== ChangesListNextPageRequest =========================
575 507
576 // There are two ways to obtain next pages of "Changes: list" result (if paged). 508 // There are two ways to obtain next pages of "Changes: list" result (if paged).
577 // 1) Set pageToken and all params used for the initial request. 509 // 1) Set pageToken and all params used for the initial request.
578 // 2) Use URL in the nextLink field in the previous response. 510 // 2) Use URL in the nextLink field in the previous response.
579 // This class implements 2)'s request. 511 // This class implements 2)'s request.
580 class ChangesListNextPageRequest : public DriveApiDataRequest<ChangeList> { 512 class ChangesListNextPageRequest : public DriveApiDataRequest {
581 public: 513 public:
582 ChangesListNextPageRequest(RequestSender* sender, 514 ChangesListNextPageRequest(RequestSender* sender,
583 const ChangeListCallback& callback); 515 const ChangeListCallback& callback);
584 virtual ~ChangesListNextPageRequest(); 516 virtual ~ChangesListNextPageRequest();
585 517
586 const GURL& next_link() const { return next_link_; } 518 const GURL& next_link() const { return next_link_; }
587 void set_next_link(const GURL& next_link) { next_link_ = next_link; } 519 void set_next_link(const GURL& next_link) { next_link_ = next_link; }
588 520
589 protected: 521 protected:
590 // Overridden from DriveApiDataRequest. 522 // Overridden from DriveApiDataRequest.
591 virtual GURL GetURLInternal() const OVERRIDE; 523 virtual GURL GetURLInternal() const OVERRIDE;
592 524
593 private: 525 private:
594 GURL next_link_; 526 GURL next_link_;
595 527
596 DISALLOW_COPY_AND_ASSIGN(ChangesListNextPageRequest); 528 DISALLOW_COPY_AND_ASSIGN(ChangesListNextPageRequest);
597 }; 529 };
598 530
599 //============================= AppsListRequest ============================ 531 //============================= AppsListRequest ============================
600 532
601 // This class performs the request for fetching AppList. 533 // This class performs the request for fetching AppList.
602 // This request is mapped to 534 // This request is mapped to
603 // https://developers.google.com/drive/v2/reference/apps/list 535 // https://developers.google.com/drive/v2/reference/apps/list
604 class AppsListRequest : public DriveApiDataRequest<AppList> { 536 class AppsListRequest : public DriveApiDataRequest {
605 public: 537 public:
606 AppsListRequest(RequestSender* sender, 538 AppsListRequest(RequestSender* sender,
607 const DriveApiUrlGenerator& url_generator, 539 const DriveApiUrlGenerator& url_generator,
608 bool use_internal_endpoint, 540 bool use_internal_endpoint,
609 const AppListCallback& callback); 541 const AppListCallback& callback);
610 virtual ~AppsListRequest(); 542 virtual ~AppsListRequest();
611 543
612 protected: 544 protected:
613 // Overridden from DriveApiDataRequest. 545 // Overridden from DriveApiDataRequest.
614 virtual GURL GetURLInternal() const OVERRIDE; 546 virtual GURL GetURLInternal() const OVERRIDE;
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
957 PermissionRole role_; 889 PermissionRole role_;
958 std::string value_; 890 std::string value_;
959 891
960 DISALLOW_COPY_AND_ASSIGN(PermissionsInsertRequest); 892 DISALLOW_COPY_AND_ASSIGN(PermissionsInsertRequest);
961 }; 893 };
962 894
963 } // namespace drive 895 } // namespace drive
964 } // namespace google_apis 896 } // namespace google_apis
965 897
966 #endif // GOOGLE_APIS_DRIVE_DRIVE_API_REQUESTS_H_ 898 #endif // GOOGLE_APIS_DRIVE_DRIVE_API_REQUESTS_H_
OLDNEW
« no previous file with comments | « trunk/src/google_apis/drive/base_requests_unittest.cc ('k') | trunk/src/google_apis/drive/drive_api_requests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698