diff options
author | vitalybuka@chromium.org <vitalybuka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-10 16:03:20 +0000 |
---|---|---|
committer | vitalybuka@chromium.org <vitalybuka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-10 16:03:20 +0000 |
commit | 35511e64d3383c5bd53d16618de72d566ff57418 (patch) | |
tree | 9aa3c07920ed58e3683aec7ee738f7834d7156d5 /printing/backend/win_helper.h | |
parent | 54652d823fd3498a8fa4a294adfb1e5068f24079 (diff) | |
download | chromium_src-35511e64d3383c5bd53d16618de72d566ff57418.zip chromium_src-35511e64d3383c5bd53d16618de72d566ff57418.tar.gz chromium_src-35511e64d3383c5bd53d16618de72d566ff57418.tar.bz2 |
Extract XPS code from PrintSystemWin.
BUG=317027
Review URL: https://codereview.chromium.org/61673004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234174 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'printing/backend/win_helper.h')
-rw-r--r-- | printing/backend/win_helper.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/printing/backend/win_helper.h b/printing/backend/win_helper.h index 9ac9df3..0f6b7ef 100644 --- a/printing/backend/win_helper.h +++ b/printing/backend/win_helper.h @@ -62,6 +62,31 @@ class ScopedPrinterHandle } }; +class PrinterChangeHandleTraits { + public: + typedef HANDLE Handle; + + static bool CloseHandle(HANDLE handle) { + ::FindClosePrinterChangeNotification(handle); + return true; + } + + static bool IsHandleValid(HANDLE handle) { + return handle != NULL; + } + + static HANDLE NullHandle() { + return NULL; + } + + private: + DISALLOW_IMPLICIT_CONSTRUCTORS(PrinterChangeHandleTraits); +}; + +typedef base::win::GenericScopedHandle<PrinterChangeHandleTraits, + base::win::DummyVerifierTraits> + ScopedPrinterChangeHandle; + // Wrapper class to wrap the XPS APIs (PTxxx APIs). This is needed because these // APIs are not available by default on XP. We could delayload prntvpt.dll but // this would mean having to add that to every binary that links with |