Index: cloud_print/virtual_driver/win/port_monitor/port_monitor_dll.cc |
diff --git a/cloud_print/virtual_driver/win/port_monitor/port_monitor_dll.cc b/cloud_print/virtual_driver/win/port_monitor/port_monitor_dll.cc |
deleted file mode 100644 |
index 39fc6045bdec72d8153e72e0b8c4a38b364cd7c7..0000000000000000000000000000000000000000 |
--- a/cloud_print/virtual_driver/win/port_monitor/port_monitor_dll.cc |
+++ /dev/null |
@@ -1,103 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "cloud_print/virtual_driver/win/port_monitor/port_monitor.h" |
- |
-#include <lmcons.h> |
-#include <shellapi.h> |
-#include <shlobj.h> |
-#include <strsafe.h> |
-#include <userenv.h> |
-#include <windows.h> |
-#include <winspool.h> |
- |
-#include "base/at_exit.h" |
-#include "base/command_line.h" |
-#include "base/file_util.h" |
-#include "base/logging.h" |
-#include "base/path_service.h" |
-#include "base/process.h" |
-#include "base/process_util.h" |
-#include "base/string16.h" |
-#include "base/win/registry.h" |
-#include "base/win/scoped_handle.h" |
-#include "base/win/windows_version.h" |
-#include "cloud_print/virtual_driver/virtual_driver_switches.h" |
-#include "cloud_print/virtual_driver/win/port_monitor/spooler_win.h" |
-#include "cloud_print/virtual_driver/win/virtual_driver_consts.h" |
-#include "cloud_print/virtual_driver/win/virtual_driver_helpers.h" |
- |
-namespace cloud_print { |
- |
-const wchar_t kChromeExePath[] = L"google\\chrome\\application\\chrome.exe"; |
-const wchar_t kChromePathRegValue[] = L"PathToChromeExe"; |
-const bool kIsUnittest = false; |
- |
-namespace { |
- |
-// Returns true if Xps support is installed. |
-bool XpsIsInstalled() { |
- FilePath xps_path; |
- if (!SUCCEEDED(GetPrinterDriverDir(&xps_path))) { |
- return false; |
- } |
- xps_path = xps_path.Append(L"mxdwdrv.dll"); |
- if (!file_util::PathExists(xps_path)) { |
- return false; |
- } |
- return true; |
-} |
- |
-// Returns true if registration/unregistration can be attempted. |
-bool CanRegister() { |
- if (!XpsIsInstalled()) { |
- return false; |
- } |
- if (base::win::GetVersion() >= base::win::VERSION_VISTA) { |
- base::IntegrityLevel level = base::INTEGRITY_UNKNOWN; |
- if (!GetProcessIntegrityLevel(base::GetCurrentProcessHandle(), &level)) { |
- return false; |
- } |
- if (level != base::HIGH_INTEGRITY) { |
- return false; |
- } |
- } |
- return true; |
-} |
- |
-} // namespace |
- |
- |
-} // namespace cloud_print |
- |
-HRESULT WINAPI DllRegisterServer(void) { |
- base::AtExitManager at_exit_manager; |
- if (!cloud_print::CanRegister()) { |
- return E_ACCESSDENIED; |
- } |
- MONITOR_INFO_2 monitor_info = {0}; |
- // YUCK!!! I can either copy the constant, const_cast, or define my own |
- // MONITOR_INFO_2 that will take const strings. |
- FilePath dll_path(cloud_print::GetPortMonitorDllName()); |
- monitor_info.pDLLName = const_cast<LPWSTR>(dll_path.value().c_str()); |
- monitor_info.pName = const_cast<LPWSTR>(dll_path.value().c_str()); |
- if (AddMonitor(NULL, 2, reinterpret_cast<BYTE*>(&monitor_info))) { |
- return S_OK; |
- } |
- return cloud_print::GetLastHResult(); |
-} |
- |
-HRESULT WINAPI DllUnregisterServer(void) { |
- base::AtExitManager at_exit_manager; |
- if (!cloud_print::CanRegister()) { |
- return E_ACCESSDENIED; |
- } |
- FilePath dll_path(cloud_print::GetPortMonitorDllName()); |
- if (DeleteMonitor(NULL, |
- NULL, |
- const_cast<LPWSTR>(dll_path.value().c_str()))) { |
- return S_OK; |
- } |
- return cloud_print::GetLastHResult(); |
-} |