OLD | NEW |
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 #include "chrome/browser/drive/drive_api_service.h" | 5 #include "chrome/browser/drive/drive_api_service.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
571 request->add_parent(parent_resource_id); | 571 request->add_parent(parent_resource_id); |
572 request->set_title(directory_title); | 572 request->set_title(directory_title); |
573 request->set_fields(kFileResourceFields); | 573 request->set_fields(kFileResourceFields); |
574 return sender_->StartRequestWithRetry(request); | 574 return sender_->StartRequestWithRetry(request); |
575 } | 575 } |
576 | 576 |
577 CancelCallback DriveAPIService::CopyResource( | 577 CancelCallback DriveAPIService::CopyResource( |
578 const std::string& resource_id, | 578 const std::string& resource_id, |
579 const std::string& parent_resource_id, | 579 const std::string& parent_resource_id, |
580 const std::string& new_title, | 580 const std::string& new_title, |
| 581 const base::Time& last_modified, |
581 const GetResourceEntryCallback& callback) { | 582 const GetResourceEntryCallback& callback) { |
582 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 583 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
583 DCHECK(!callback.is_null()); | 584 DCHECK(!callback.is_null()); |
584 | 585 |
585 FilesCopyRequest* request = new FilesCopyRequest( | 586 FilesCopyRequest* request = new FilesCopyRequest( |
586 sender_.get(), url_generator_, | 587 sender_.get(), url_generator_, |
587 base::Bind(&ConvertFileEntryToResourceEntryAndRun, callback)); | 588 base::Bind(&ConvertFileEntryToResourceEntryAndRun, callback)); |
588 request->set_file_id(resource_id); | 589 request->set_file_id(resource_id); |
589 request->add_parent(parent_resource_id); | 590 request->add_parent(parent_resource_id); |
590 request->set_title(new_title); | 591 request->set_title(new_title); |
| 592 request->set_modified_date(last_modified); |
591 request->set_fields(kFileResourceFields); | 593 request->set_fields(kFileResourceFields); |
592 return sender_->StartRequestWithRetry(request); | 594 return sender_->StartRequestWithRetry(request); |
593 } | 595 } |
594 | 596 |
595 CancelCallback DriveAPIService::CopyHostedDocument( | 597 CancelCallback DriveAPIService::CopyHostedDocument( |
596 const std::string& resource_id, | 598 const std::string& resource_id, |
597 const std::string& new_title, | 599 const std::string& new_title, |
598 const GetResourceEntryCallback& callback) { | 600 const GetResourceEntryCallback& callback) { |
599 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 601 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
600 DCHECK(!callback.is_null()); | 602 DCHECK(!callback.is_null()); |
601 | 603 |
602 FilesCopyRequest* request = new FilesCopyRequest( | 604 FilesCopyRequest* request = new FilesCopyRequest( |
603 sender_.get(), url_generator_, | 605 sender_.get(), url_generator_, |
604 base::Bind(&ConvertFileEntryToResourceEntryAndRun, callback)); | 606 base::Bind(&ConvertFileEntryToResourceEntryAndRun, callback)); |
605 request->set_file_id(resource_id); | 607 request->set_file_id(resource_id); |
606 request->set_title(new_title); | 608 request->set_title(new_title); |
607 request->set_fields(kFileResourceFields); | 609 request->set_fields(kFileResourceFields); |
608 return sender_->StartRequestWithRetry(request); | 610 return sender_->StartRequestWithRetry(request); |
609 } | 611 } |
610 | 612 |
611 CancelCallback DriveAPIService::MoveResource( | 613 CancelCallback DriveAPIService::MoveResource( |
612 const std::string& resource_id, | 614 const std::string& resource_id, |
613 const std::string& parent_resource_id, | 615 const std::string& parent_resource_id, |
614 const std::string& new_title, | 616 const std::string& new_title, |
| 617 const base::Time& last_modified, |
615 const GetResourceEntryCallback& callback) { | 618 const GetResourceEntryCallback& callback) { |
616 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 619 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
617 DCHECK(!callback.is_null()); | 620 DCHECK(!callback.is_null()); |
618 | 621 |
619 FilesPatchRequest* request = new FilesPatchRequest( | 622 FilesPatchRequest* request = new FilesPatchRequest( |
620 sender_.get(), url_generator_, | 623 sender_.get(), url_generator_, |
621 base::Bind(&ConvertFileEntryToResourceEntryAndRun, callback)); | 624 base::Bind(&ConvertFileEntryToResourceEntryAndRun, callback)); |
622 request->set_file_id(resource_id); | 625 request->set_file_id(resource_id); |
623 request->set_title(new_title); | 626 request->set_title(new_title); |
624 if (!parent_resource_id.empty()) | 627 if (!parent_resource_id.empty()) |
625 request->add_parent(parent_resource_id); | 628 request->add_parent(parent_resource_id); |
| 629 if (!last_modified.is_null()) { |
| 630 request->set_set_modified_date(true); |
| 631 request->set_modified_date(last_modified); |
| 632 } |
626 request->set_fields(kFileResourceFields); | 633 request->set_fields(kFileResourceFields); |
627 return sender_->StartRequestWithRetry(request); | 634 return sender_->StartRequestWithRetry(request); |
628 } | 635 } |
629 | 636 |
630 CancelCallback DriveAPIService::RenameResource( | 637 CancelCallback DriveAPIService::RenameResource( |
631 const std::string& resource_id, | 638 const std::string& resource_id, |
632 const std::string& new_title, | 639 const std::string& new_title, |
633 const EntryActionCallback& callback) { | 640 const EntryActionCallback& callback) { |
634 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 641 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
635 DCHECK(!callback.is_null()); | 642 DCHECK(!callback.is_null()); |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
866 if (CanSendRequest()) { | 873 if (CanSendRequest()) { |
867 FOR_EACH_OBSERVER( | 874 FOR_EACH_OBSERVER( |
868 DriveServiceObserver, observers_, OnReadyToSendRequests()); | 875 DriveServiceObserver, observers_, OnReadyToSendRequests()); |
869 } else if (!HasRefreshToken()) { | 876 } else if (!HasRefreshToken()) { |
870 FOR_EACH_OBSERVER( | 877 FOR_EACH_OBSERVER( |
871 DriveServiceObserver, observers_, OnRefreshTokenInvalid()); | 878 DriveServiceObserver, observers_, OnRefreshTokenInvalid()); |
872 } | 879 } |
873 } | 880 } |
874 | 881 |
875 } // namespace drive | 882 } // namespace drive |
OLD | NEW |