| Index: chrome/browser/chromeos/drive/job_scheduler.h
|
| diff --git a/chrome/browser/chromeos/drive/job_scheduler.h b/chrome/browser/chromeos/drive/job_scheduler.h
|
| index ea1ffd4a93e8023b0d5b69bac24834a6446f521d..04904703239a57f34c35e40e823fa7200d0153b8 100644
|
| --- a/chrome/browser/chromeos/drive/job_scheduler.h
|
| +++ b/chrome/browser/chromeos/drive/job_scheduler.h
|
| @@ -163,16 +163,16 @@ class JobScheduler
|
|
|
| static const int kMaxJobCount[NUM_QUEUES];
|
|
|
| - // Represents a single entry in the job queue.
|
| - struct QueueEntry {
|
| - QueueEntry();
|
| - ~QueueEntry();
|
| + // Represents a single entry in the job map.
|
| + struct JobEntry {
|
| + explicit JobEntry(JobType type);
|
| + ~JobEntry();
|
|
|
| // Compare the two entries, per job priorities. Used for sorting entries
|
| // from high priority to low priority.
|
| - static bool Compare(const QueueEntry* left, const QueueEntry* right);
|
| + static bool Compare(const JobEntry& left, const JobEntry& right);
|
|
|
| - JobID job_id;
|
| + JobInfo job_info;
|
|
|
| // Context of the job.
|
| DriveClientContext context;
|
| @@ -294,10 +294,10 @@ class JobScheduler
|
|
|
| // Adds the specified job to the queue and starts the job loop for the queue
|
| // if needed. Returns the job ID for the new job.
|
| - JobID StartNewJob(scoped_ptr<QueueEntry> job, JobType type);
|
| + JobID StartNewJob(scoped_ptr<JobEntry> job);
|
|
|
| - // Adds the specified job to the queue. Takes ownership of |job|
|
| - void QueueJob(scoped_ptr<QueueEntry> job);
|
| + // Adds the specified job to the queue.
|
| + void QueueJob(JobID job_id);
|
|
|
| // Starts the job loop, if it is not already running.
|
| void StartJobLoop(QueueType queue_type);
|
| @@ -319,52 +319,60 @@ class JobScheduler
|
| // Resets the throttle delay to the initial value, and continues the job loop.
|
| void ResetThrottleAndContinueJobLoop(QueueType queue_type);
|
|
|
| - // Retries the |queue_entry| job if needed and returns false.
|
| - // Otherwise returns true.
|
| - bool OnJobDone(scoped_ptr<QueueEntry> queue_entry, FileError error);
|
| + // Retries the job if needed and returns false. Otherwise returns true.
|
| + bool OnJobDone(JobID job_id, FileError error);
|
|
|
| // Callback for job finishing with a GetResourceListCallback.
|
| void OnGetResourceListJobDone(
|
| - scoped_ptr<QueueEntry> queue_entry,
|
| + JobID job_id,
|
| + const google_apis::GetResourceListCallback& callback,
|
| google_apis::GDataErrorCode error,
|
| scoped_ptr<google_apis::ResourceList> resource_list);
|
|
|
| // Callback for job finishing with a GetResourceEntryCallback.
|
| void OnGetResourceEntryJobDone(
|
| - scoped_ptr<QueueEntry> queue_entry,
|
| + JobID job_id,
|
| + const google_apis::GetResourceEntryCallback& callback,
|
| google_apis::GDataErrorCode error,
|
| scoped_ptr<google_apis::ResourceEntry> entry);
|
|
|
| // Callback for job finishing with a GetAboutResourceCallback.
|
| void OnGetAboutResourceJobDone(
|
| - scoped_ptr<QueueEntry> queue_entry,
|
| + JobID job_id,
|
| + const google_apis::GetAboutResourceCallback& callback,
|
| google_apis::GDataErrorCode error,
|
| scoped_ptr<google_apis::AboutResource> about_resource);
|
|
|
| // Callback for job finishing with a GetAccountMetadataCallback.
|
| void OnGetAccountMetadataJobDone(
|
| - scoped_ptr<QueueEntry> queue_entry,
|
| + JobID job_id,
|
| + const google_apis::GetAccountMetadataCallback& callback,
|
| google_apis::GDataErrorCode error,
|
| scoped_ptr<google_apis::AccountMetadata> account_metadata);
|
|
|
| // Callback for job finishing with a GetAppListCallback.
|
| void OnGetAppListJobDone(
|
| - scoped_ptr<QueueEntry> queue_entry,
|
| + JobID job_id,
|
| + const google_apis::GetAppListCallback& callback,
|
| google_apis::GDataErrorCode error,
|
| scoped_ptr<google_apis::AppList> app_list);
|
|
|
| // Callback for job finishing with a EntryActionCallback.
|
| - void OnEntryActionJobDone(scoped_ptr<QueueEntry> queue_entry,
|
| + void OnEntryActionJobDone(JobID job_id,
|
| + const google_apis::EntryActionCallback& callback,
|
| google_apis::GDataErrorCode error);
|
|
|
| // Callback for job finishing with a DownloadActionCallback.
|
| - void OnDownloadActionJobDone(scoped_ptr<QueueEntry> queue_entry,
|
| - google_apis::GDataErrorCode error,
|
| - const base::FilePath& temp_file);
|
| + void OnDownloadActionJobDone(
|
| + JobID job_id,
|
| + const google_apis::DownloadActionCallback& callback,
|
| + google_apis::GDataErrorCode error,
|
| + const base::FilePath& temp_file);
|
|
|
| // Callback for job finishing with a UploadCompletionCallback.
|
| void OnUploadCompletionJobDone(
|
| - scoped_ptr<QueueEntry> queue_entry,
|
| + JobID job_id,
|
| + const google_apis::UploadCompletionCallback& callback,
|
| google_apis::GDataErrorCode error,
|
| const base::FilePath& drive_path,
|
| const base::FilePath& file_path,
|
| @@ -406,10 +414,10 @@ class JobScheduler
|
| bool disable_throttling_;
|
|
|
| // The queues of jobs.
|
| - std::list<QueueEntry*> queue_[NUM_QUEUES];
|
| + std::list<JobID> queue_[NUM_QUEUES];
|
|
|
| // The list of unfinished (= queued or running) job info indexed by job IDs.
|
| - typedef IDMap<JobInfo, IDMapOwnPointer> JobIDMap;
|
| + typedef IDMap<JobEntry, IDMapOwnPointer> JobIDMap;
|
| JobIDMap job_map_;
|
|
|
| // The list of observers for the scheduler.
|
|
|