| Index: chrome/browser/chromeos/drive/drive_scheduler.cc
|
| diff --git a/chrome/browser/chromeos/drive/drive_scheduler.cc b/chrome/browser/chromeos/drive/drive_scheduler.cc
|
| index 5400e121dc7cc5a1d028214ce408c2f3a3cd276c..2a4ea42e485bc9475c1c0def7086b928f5f28742 100644
|
| --- a/chrome/browser/chromeos/drive/drive_scheduler.cc
|
| +++ b/chrome/browser/chromeos/drive/drive_scheduler.cc
|
| @@ -30,15 +30,6 @@ const int DriveScheduler::kMaxJobCount[] = {
|
| 1, // FILE_QUEUE
|
| };
|
|
|
| -DriveScheduler::JobInfo::JobInfo(JobType in_job_type)
|
| - : job_type(in_job_type),
|
| - job_id(-1),
|
| - completed_bytes(0),
|
| - total_bytes(0),
|
| - state(STATE_NONE) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| -}
|
| -
|
| DriveScheduler::QueueEntry::QueueEntry()
|
| : job_id(-1),
|
| context(DriveClientContext(USER_INITIATED)) {
|
| @@ -58,8 +49,7 @@ bool DriveScheduler::QueueEntry::Compare(
|
| DriveScheduler::DriveScheduler(
|
| Profile* profile,
|
| google_apis::DriveServiceInterface* drive_service)
|
| - : next_job_id_(0),
|
| - throttle_count_(0),
|
| + : throttle_count_(0),
|
| disable_throttling_(false),
|
| drive_service_(drive_service),
|
| uploader_(new google_apis::DriveUploader(drive_service)),
|
| @@ -102,6 +92,23 @@ void DriveScheduler::Initialize() {
|
| initialized_ = true;
|
| }
|
|
|
| +std::vector<JobInfo> DriveScheduler::GetJobInfoList() {
|
| + std::vector<JobInfo> job_info_list;
|
| + for (JobIDMap::iterator iter(&job_map_); !iter.IsAtEnd(); iter.Advance())
|
| + job_info_list.push_back(*iter.GetCurrentValue());
|
| + return job_info_list;
|
| +}
|
| +
|
| +void DriveScheduler::AddObserver(JobListObserver* observer) {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| + observer_list_.AddObserver(observer);
|
| +}
|
| +
|
| +void DriveScheduler::RemoveObserver(JobListObserver* observer) {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| + observer_list_.RemoveObserver(observer);
|
| +}
|
| +
|
| void DriveScheduler::GetAccountMetadata(
|
| const google_apis::GetAccountMetadataCallback& callback) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| @@ -897,4 +904,19 @@ DriveScheduler::QueueType DriveScheduler::GetJobQueueType(JobType type) {
|
| return FILE_QUEUE;
|
| }
|
|
|
| +void DriveScheduler::NotifyJobAdded(const JobInfo& job_info) {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| + FOR_EACH_OBSERVER(JobListObserver, observer_list_, OnJobAdded(job_info));
|
| +}
|
| +
|
| +void DriveScheduler::NotifyJobDone(const JobInfo& job_info) {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| + FOR_EACH_OBSERVER(JobListObserver, observer_list_, OnJobDone(job_info));
|
| +}
|
| +
|
| +void DriveScheduler::NotifyJobUpdated(const JobInfo& job_info) {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| + FOR_EACH_OBSERVER(JobListObserver, observer_list_, OnJobUpdated(job_info));
|
| +}
|
| +
|
| } // namespace drive
|
|
|