| 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 <iomanip> | 5 #include <iomanip> |
| 6 #include <windows.h> | 6 #include <windows.h> |
| 7 #include <winspool.h> | 7 #include <winspool.h> |
| 8 #include <setupapi.h> // Must be included after windows.h | 8 #include <setupapi.h> // Must be included after windows.h |
| 9 | 9 |
| 10 #include "base/at_exit.h" | 10 #include "base/at_exit.h" |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 338 // None of the print API structures likes constant strings even though they | 338 // None of the print API structures likes constant strings even though they |
| 339 // don't modify the string. const_casting is the cleanest option. | 339 // don't modify the string. const_casting is the cleanest option. |
| 340 base::string16 driver_name = LoadLocalString(IDS_DRIVER_NAME); | 340 base::string16 driver_name = LoadLocalString(IDS_DRIVER_NAME); |
| 341 printer_info.pDriverName = const_cast<LPWSTR>(driver_name.c_str()); | 341 printer_info.pDriverName = const_cast<LPWSTR>(driver_name.c_str()); |
| 342 printer_info.pPrinterName = const_cast<LPWSTR>(driver_name.c_str()); | 342 printer_info.pPrinterName = const_cast<LPWSTR>(driver_name.c_str()); |
| 343 printer_info.pComment = const_cast<LPWSTR>(driver_name.c_str()); | 343 printer_info.pComment = const_cast<LPWSTR>(driver_name.c_str()); |
| 344 printer_info.pLocation = const_cast<LPWSTR>(kGcpUrl); | 344 printer_info.pLocation = const_cast<LPWSTR>(kGcpUrl); |
| 345 base::string16 port_name; | 345 base::string16 port_name; |
| 346 printer_info.pPortName = const_cast<LPWSTR>(kPortName); | 346 printer_info.pPortName = const_cast<LPWSTR>(kPortName); |
| 347 printer_info.Attributes = PRINTER_ATTRIBUTE_DIRECT|PRINTER_ATTRIBUTE_LOCAL; | 347 printer_info.Attributes = PRINTER_ATTRIBUTE_DIRECT|PRINTER_ATTRIBUTE_LOCAL; |
| 348 printer_info.pPrintProcessor = L"winprint"; | 348 printer_info.pPrintProcessor = const_cast<LPWSTR>(L"winprint"); |
| 349 HANDLE handle = AddPrinter(NULL, 2, reinterpret_cast<BYTE*>(&printer_info)); | 349 HANDLE handle = AddPrinter(NULL, 2, reinterpret_cast<BYTE*>(&printer_info)); |
| 350 if (handle == NULL) { | 350 if (handle == NULL) { |
| 351 HRESULT result = GetLastHResult(); | 351 HRESULT result = GetLastHResult(); |
| 352 LOG(ERROR) << "Unable to add printer"; | 352 LOG(ERROR) << "Unable to add printer"; |
| 353 return result; | 353 return result; |
| 354 } | 354 } |
| 355 ClosePrinter(handle); | 355 ClosePrinter(handle); |
| 356 return S_OK; | 356 return S_OK; |
| 357 } | 357 } |
| 358 | 358 |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 550 | 550 |
| 551 VLOG(0) << GetErrorMessage(retval) | 551 VLOG(0) << GetErrorMessage(retval) |
| 552 << " HRESULT=0x" << std::setbase(16) << retval; | 552 << " HRESULT=0x" << std::setbase(16) << retval; |
| 553 | 553 |
| 554 // Installer is silent by default as required by Google Update. | 554 // Installer is silent by default as required by Google Update. |
| 555 if (CommandLine::ForCurrentProcess()->HasSwitch("verbose")) { | 555 if (CommandLine::ForCurrentProcess()->HasSwitch("verbose")) { |
| 556 DisplayWindowsMessage(NULL, retval, LoadLocalString(IDS_DRIVER_NAME)); | 556 DisplayWindowsMessage(NULL, retval, LoadLocalString(IDS_DRIVER_NAME)); |
| 557 } | 557 } |
| 558 return retval; | 558 return retval; |
| 559 } | 559 } |
| OLD | NEW |