| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/service/cloud_print/print_system.h" | 5 #include "chrome/service/cloud_print/print_system.h" |
| 6 | 6 |
| 7 #include <objidl.h> | 7 #include <objidl.h> |
| 8 #include <prntvpt.h> | 8 #include <prntvpt.h> |
| 9 #include <winspool.h> | 9 #include <winspool.h> |
| 10 | 10 |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 232 // Visual Studio where it gets confused between multiple Delegate. | 232 // Visual Studio where it gets confused between multiple Delegate. |
| 233 // In this case, some compilers get confused and inherit | 233 // In this case, some compilers get confused and inherit |
| 234 // PrintSystemWin watchers from wrong Delegate, giving C2664 and C2259 errors. | 234 // PrintSystemWin watchers from wrong Delegate, giving C2664 and C2259 errors. |
| 235 typedef PrintSystemWatcherWin::Delegate PrintSystemWatcherWinDelegate; | 235 typedef PrintSystemWatcherWin::Delegate PrintSystemWatcherWinDelegate; |
| 236 | 236 |
| 237 class PrintSystemWin : public PrintSystem { | 237 class PrintSystemWin : public PrintSystem { |
| 238 public: | 238 public: |
| 239 PrintSystemWin(); | 239 PrintSystemWin(); |
| 240 | 240 |
| 241 // PrintSystem implementation. | 241 // PrintSystem implementation. |
| 242 virtual printing::PrintBackend* GetPrintBackend(); | 242 virtual void Init(); |
| 243 |
| 244 virtual void EnumeratePrinters(printing::PrinterList* printer_list); |
| 245 |
| 246 virtual bool GetPrinterCapsAndDefaults( |
| 247 const std::string& printer_name, |
| 248 printing::PrinterCapsAndDefaults* printer_info); |
| 249 |
| 250 virtual bool IsValidPrinter(const std::string& printer_name); |
| 243 | 251 |
| 244 virtual bool ValidatePrintTicket(const std::string& printer_name, | 252 virtual bool ValidatePrintTicket(const std::string& printer_name, |
| 245 const std::string& print_ticket_data); | 253 const std::string& print_ticket_data); |
| 246 | 254 |
| 247 virtual bool GetJobDetails(const std::string& printer_name, | 255 virtual bool GetJobDetails(const std::string& printer_name, |
| 248 PlatformJobId job_id, | 256 PlatformJobId job_id, |
| 249 PrintJobDetails *job_details); | 257 PrintJobDetails *job_details); |
| 250 | 258 |
| 251 class PrintServerWatcherWin | 259 class PrintServerWatcherWin |
| 252 : public PrintSystem::PrintServerWatcher, | 260 : public PrintSystem::PrintServerWatcher, |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 501 scoped_refptr<Core> core_; | 509 scoped_refptr<Core> core_; |
| 502 DISALLOW_COPY_AND_ASSIGN(JobSpoolerWin); | 510 DISALLOW_COPY_AND_ASSIGN(JobSpoolerWin); |
| 503 }; | 511 }; |
| 504 | 512 |
| 505 virtual PrintSystem::PrintServerWatcher* CreatePrintServerWatcher(); | 513 virtual PrintSystem::PrintServerWatcher* CreatePrintServerWatcher(); |
| 506 virtual PrintSystem::PrinterWatcher* CreatePrinterWatcher( | 514 virtual PrintSystem::PrinterWatcher* CreatePrinterWatcher( |
| 507 const std::string& printer_name); | 515 const std::string& printer_name); |
| 508 virtual PrintSystem::JobSpooler* CreateJobSpooler(); | 516 virtual PrintSystem::JobSpooler* CreateJobSpooler(); |
| 509 | 517 |
| 510 private: | 518 private: |
| 511 void Init(); | |
| 512 | |
| 513 scoped_refptr<printing::PrintBackend> print_backend_; | 519 scoped_refptr<printing::PrintBackend> print_backend_; |
| 514 }; | 520 }; |
| 515 | 521 |
| 516 PrintSystemWin::PrintSystemWin() { | 522 PrintSystemWin::PrintSystemWin() { |
| 517 Init(); | 523 print_backend_ = printing::PrintBackend::CreateInstance(NULL); |
| 518 } | 524 } |
| 519 | 525 |
| 520 void PrintSystemWin::Init() { | 526 void PrintSystemWin::Init() { |
| 521 print_backend_ = printing::PrintBackend::CreateInstance(NULL); | |
| 522 } | 527 } |
| 523 | 528 |
| 524 printing::PrintBackend* PrintSystemWin::GetPrintBackend() { | 529 void PrintSystemWin::EnumeratePrinters(printing::PrinterList* printer_list) { |
| 525 return print_backend_; | 530 print_backend_->EnumeratePrinters(printer_list); |
| 531 } |
| 532 |
| 533 bool PrintSystemWin::GetPrinterCapsAndDefaults( |
| 534 const std::string& printer_name, |
| 535 printing::PrinterCapsAndDefaults* printer_info) { |
| 536 return print_backend_->GetPrinterCapsAndDefaults(printer_name, printer_info); |
| 537 } |
| 538 |
| 539 bool PrintSystemWin::IsValidPrinter(const std::string& printer_name) { |
| 540 return print_backend_->IsValidPrinter(printer_name); |
| 526 } | 541 } |
| 527 | 542 |
| 528 bool PrintSystemWin::ValidatePrintTicket( | 543 bool PrintSystemWin::ValidatePrintTicket( |
| 529 const std::string& printer_name, | 544 const std::string& printer_name, |
| 530 const std::string& print_ticket_data) { | 545 const std::string& print_ticket_data) { |
| 531 if (!printing::InitXPSModule()) { | 546 if (!printing::InitXPSModule()) { |
| 532 // TODO(sanjeevr): Handle legacy proxy case (with no prntvpt.dll) | 547 // TODO(sanjeevr): Handle legacy proxy case (with no prntvpt.dll) |
| 533 return false; | 548 return false; |
| 534 } | 549 } |
| 535 bool ret = false; | 550 bool ret = false; |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 633 RpcStringFree(reinterpret_cast<RPC_WSTR *>(&proxy_id_as_string)); | 648 RpcStringFree(reinterpret_cast<RPC_WSTR *>(&proxy_id_as_string)); |
| 634 return ret; | 649 return ret; |
| 635 } | 650 } |
| 636 | 651 |
| 637 scoped_refptr<PrintSystem> PrintSystem::CreateInstance( | 652 scoped_refptr<PrintSystem> PrintSystem::CreateInstance( |
| 638 const DictionaryValue* print_system_settings) { | 653 const DictionaryValue* print_system_settings) { |
| 639 return new PrintSystemWin; | 654 return new PrintSystemWin; |
| 640 } | 655 } |
| 641 | 656 |
| 642 } // namespace cloud_print | 657 } // namespace cloud_print |
| OLD | NEW |