| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 CHROME_SERVICE_CLOUD_PRINT_PRINTER_JOB_HANDLER_H_ | 5 #ifndef CHROME_SERVICE_CLOUD_PRINT_PRINTER_JOB_HANDLER_H_ |
| 6 #define CHROME_SERVICE_CLOUD_PRINT_PRINTER_JOB_HANDLER_H_ | 6 #define CHROME_SERVICE_CLOUD_PRINT_PRINTER_JOB_HANDLER_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <list> | 9 #include <list> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 public CloudPrintURLFetcherDelegate, | 65 public CloudPrintURLFetcherDelegate, |
| 66 public JobStatusUpdaterDelegate, | 66 public JobStatusUpdaterDelegate, |
| 67 public cloud_print::PrinterWatcherDelegate, | 67 public cloud_print::PrinterWatcherDelegate, |
| 68 public cloud_print::JobSpoolerDelegate { | 68 public cloud_print::JobSpoolerDelegate { |
| 69 enum PrintJobError { | 69 enum PrintJobError { |
| 70 SUCCESS, | 70 SUCCESS, |
| 71 JOB_DOWNLOAD_FAILED, | 71 JOB_DOWNLOAD_FAILED, |
| 72 INVALID_JOB_DATA, | 72 INVALID_JOB_DATA, |
| 73 PRINT_FAILED, | 73 PRINT_FAILED, |
| 74 }; | 74 }; |
| 75 |
| 75 struct JobDetails { | 76 struct JobDetails { |
| 76 JobDetails(); | 77 JobDetails(); |
| 77 ~JobDetails(); | 78 ~JobDetails(); |
| 78 void Clear(); | 79 void Clear(); |
| 79 | 80 |
| 80 std::string job_id_; | 81 std::string job_id_; |
| 81 std::string job_title_; | 82 std::string job_title_; |
| 82 std::string print_ticket_; | 83 std::string print_ticket_; |
| 83 FilePath print_data_file_path_; | 84 FilePath print_data_file_path_; |
| 84 std::string print_data_mime_type_; | 85 std::string print_data_mime_type_; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 102 std::string caps_hash; | 103 std::string caps_hash; |
| 103 std::string tags_hash; | 104 std::string tags_hash; |
| 104 }; | 105 }; |
| 105 | 106 |
| 106 // Begin public interface | 107 // Begin public interface |
| 107 PrinterJobHandler(const printing::PrinterBasicInfo& printer_info, | 108 PrinterJobHandler(const printing::PrinterBasicInfo& printer_info, |
| 108 const PrinterInfoFromCloud& printer_info_from_server, | 109 const PrinterInfoFromCloud& printer_info_from_server, |
| 109 const GURL& cloud_print_server_url, | 110 const GURL& cloud_print_server_url, |
| 110 cloud_print::PrintSystem* print_system, | 111 cloud_print::PrintSystem* print_system, |
| 111 Delegate* delegate); | 112 Delegate* delegate); |
| 112 virtual ~PrinterJobHandler(); | 113 |
| 113 bool Initialize(); | 114 bool Initialize(); |
| 115 |
| 114 std::string GetPrinterName() const; | 116 std::string GetPrinterName() const; |
| 117 |
| 115 // Requests a job check. |reason| is the reason for fetching the job. Used | 118 // Requests a job check. |reason| is the reason for fetching the job. Used |
| 116 // for logging and diagnostc purposes. | 119 // for logging and diagnostc purposes. |
| 117 void CheckForJobs(const std::string& reason); | 120 void CheckForJobs(const std::string& reason); |
| 121 |
| 118 // Shutdown everything (the process is exiting). | 122 // Shutdown everything (the process is exiting). |
| 119 void Shutdown(); | 123 void Shutdown(); |
| 124 |
| 120 base::TimeTicks last_job_fetch_time() const { return last_job_fetch_time_; } | 125 base::TimeTicks last_job_fetch_time() const { return last_job_fetch_time_; } |
| 121 // End public interface | 126 // End public interface |
| 122 | 127 |
| 123 // Begin Delegate implementations | 128 // Begin Delegate implementations |
| 124 | 129 |
| 125 // CloudPrintURLFetcher::Delegate implementation. | 130 // CloudPrintURLFetcher::Delegate implementation. |
| 126 virtual CloudPrintURLFetcher::ResponseAction HandleRawResponse( | 131 virtual CloudPrintURLFetcher::ResponseAction HandleRawResponse( |
| 127 const content::URLFetcher* source, | 132 const content::URLFetcher* source, |
| 128 const GURL& url, | 133 const GURL& url, |
| 129 const net::URLRequestStatus& status, | 134 const net::URLRequestStatus& status, |
| (...skipping 24 matching lines...) Expand all Loading... |
| 154 | 159 |
| 155 // cloud_print::JobSpoolerDelegate implementation. | 160 // cloud_print::JobSpoolerDelegate implementation. |
| 156 // Called on print_thread_. | 161 // Called on print_thread_. |
| 157 virtual void OnJobSpoolSucceeded( | 162 virtual void OnJobSpoolSucceeded( |
| 158 const cloud_print::PlatformJobId& job_id) OVERRIDE; | 163 const cloud_print::PlatformJobId& job_id) OVERRIDE; |
| 159 virtual void OnJobSpoolFailed() OVERRIDE; | 164 virtual void OnJobSpoolFailed() OVERRIDE; |
| 160 | 165 |
| 161 // End Delegate implementations | 166 // End Delegate implementations |
| 162 | 167 |
| 163 private: | 168 private: |
| 169 friend class base::RefCountedThreadSafe<PrinterJobHandler>; |
| 170 virtual ~PrinterJobHandler(); |
| 171 |
| 164 // Prototype for a JSON data handler. | 172 // Prototype for a JSON data handler. |
| 165 typedef CloudPrintURLFetcher::ResponseAction | 173 typedef CloudPrintURLFetcher::ResponseAction |
| 166 (PrinterJobHandler::*JSONDataHandler)(const content::URLFetcher* source, | 174 (PrinterJobHandler::*JSONDataHandler)(const content::URLFetcher* source, |
| 167 const GURL& url, | 175 const GURL& url, |
| 168 base::DictionaryValue* json_data, | 176 base::DictionaryValue* json_data, |
| 169 bool succeeded); | 177 bool succeeded); |
| 170 // Prototype for a data handler. | 178 // Prototype for a data handler. |
| 171 typedef CloudPrintURLFetcher::ResponseAction | 179 typedef CloudPrintURLFetcher::ResponseAction |
| 172 (PrinterJobHandler::*DataHandler)(const content::URLFetcher* source, | 180 (PrinterJobHandler::*DataHandler)(const content::URLFetcher* source, |
| 173 const GURL& url, | 181 const GURL& url, |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 293 DISALLOW_COPY_AND_ASSIGN(PrinterJobHandler); | 301 DISALLOW_COPY_AND_ASSIGN(PrinterJobHandler); |
| 294 }; | 302 }; |
| 295 | 303 |
| 296 // This typedef is to workaround the issue with certain versions of | 304 // This typedef is to workaround the issue with certain versions of |
| 297 // Visual Studio where it gets confused between multiple Delegate | 305 // Visual Studio where it gets confused between multiple Delegate |
| 298 // classes and gives a C2500 error. (I saw this error on the try bots - | 306 // classes and gives a C2500 error. (I saw this error on the try bots - |
| 299 // the workaround was not needed for my machine). | 307 // the workaround was not needed for my machine). |
| 300 typedef PrinterJobHandler::Delegate PrinterJobHandlerDelegate; | 308 typedef PrinterJobHandler::Delegate PrinterJobHandlerDelegate; |
| 301 | 309 |
| 302 #endif // CHROME_SERVICE_CLOUD_PRINT_PRINTER_JOB_HANDLER_H_ | 310 #endif // CHROME_SERVICE_CLOUD_PRINT_PRINTER_JOB_HANDLER_H_ |
| OLD | NEW |