Index: cloud_print/virtual_driver/win/port_monitor/port_monitor.h |
=================================================================== |
--- cloud_print/virtual_driver/win/port_monitor/port_monitor.h (revision 0) |
+++ cloud_print/virtual_driver/win/port_monitor/port_monitor.h (revision 0) |
@@ -0,0 +1,113 @@ |
+// Copyright (c) 2011 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. |
+ |
+#ifndef CLOUD_PRINT_VIRTUAL_DRIVER_WIN_PORT_MONITOR_PORT_MONITOR_H_ |
+#define CLOUD_PRINT_VIRTUAL_DRIVER_WIN_PORT_MONITOR_PORT_MONITOR_H_ |
+#pragma once |
+ |
+#include <windows.h> |
+#include <string> |
+#include "base/file_util.h" |
+ |
+namespace cloud_print { |
+ |
+// Fills chrome_path with the path to be used for launching Chrome. |
+BOOL GetChromeExePath(std::wstring* chrome_path); |
sanjeevr
2011/04/04 17:19:17
Helpers like these do not need to be in the header
Albert Bodenhamer
2011/04/04 23:12:24
GetChromeExePath is referenced from the unit tests
|
+ |
+// Attempts to retrieve the title of the specified print job. |
+// On success returns TRUE and the first title_chars characters of the job title |
+// are copied into title. |
+// On failure returns FALSE and title is unmodified. |
+BOOL GetJobTitle(HANDLE printer, |
+ DWORD job_id, |
+ wchar_t* title, |
+ size_t title_chars); |
+ |
+// Handler for the UI functions exported by the port monitor. |
+// Verifies that a valid parent Window exists and then just displays an |
+// error message to let the user know that there is no interactive |
+// configuration. |
+void HandlePortUi(HWND hwnd, const wchar_t* caption); |
+ |
+// Launches the Cloud Print dialog in Chrome. |
+// xps_path references a file to print. |
+// job_title is the title to be used for the resulting print job. |
+// process_handle is set to the handle of the resulting process. |
+BOOL LaunchPrintDialog(const wchar_t* xps_path, |
+ const wchar_t* job_title, |
+ HANDLE* process_handle); |
+ |
+// Returns false if the print job is being run in a context |
+// that shouldn't be launching Chrome. |
+bool ValidateCurrentUser(); |
+ |
+// Implementations for the function pointers in the MONITOR2 structure |
+// returned by InitializePrintMonitor2. The prototypes and behaviors |
+// are as described in the MONITOR2 documentation from Microsoft. |
+ |
+BOOL WINAPI Monitor2EnumPorts(HANDLE, |
+ wchar_t*, |
+ DWORD level, |
+ BYTE* ports, |
+ DWORD ports_size, |
+ DWORD* needed_bytes, |
+ DWORD* returned); |
+ |
+BOOL WINAPI Monitor2OpenPort(HANDLE monitor_data, wchar_t*, HANDLE* handle); |
+ |
+BOOL WINAPI Monitor2StartDocPort(HANDLE port_handle, |
+ wchar_t* printer_name, |
+ DWORD job_id, |
+ DWORD, |
+ BYTE*); |
+ |
+BOOL WINAPI Monitor2WritePort(HANDLE port, |
+ BYTE* buffer, |
+ DWORD buffer_size, |
+ DWORD* bytes_written); |
+ |
+BOOL WINAPI Monitor2ReadPort(HANDLE, BYTE*, DWORD, DWORD* bytes_read); |
+ |
+BOOL WINAPI Monitor2EndDocPort(HANDLE port_handle); |
+ |
+BOOL WINAPI Monitor2ClosePort(HANDLE port_handle); |
+ |
+VOID WINAPI Monitor2Shutdown(HANDLE monitor_handle); |
+ |
+BOOL WINAPI Monitor2XcvOpenPort(HANDLE monitor, |
+ const wchar_t*, |
+ ACCESS_MASK granted_access, |
+ HANDLE* handle); |
+ |
+DWORD WINAPI Monitor2XcvDataPort(HANDLE xcv_handle, |
+ const wchar_t* data_name, |
+ BYTE*, |
+ DWORD, |
+ BYTE* output_data, |
+ DWORD output_data_bytes, |
+ DWORD* output_data_bytes_needed); |
+ |
+BOOL WINAPI Monitor2XcvClosePort(HANDLE handle); |
+ |
+// Implementations for the function pointers in the MONITORUI structure |
+// returned by InitializePrintMonitorUI. The prototypes and behaviors |
+// are as described in the MONITORUI documentation from Microsoft. |
+ |
+BOOL WINAPI MonitorUiAddPortUi(const wchar_t*, |
+ HWND hwnd, |
+ const wchar_t* monitor_name, |
+ wchar_t**); |
+ |
+BOOL WINAPI MonitorUiConfigureOrDeletePortUI(const wchar_t*, |
+ HWND hwnd, |
+ const wchar_t* port_name); |
+ |
+extern const wchar_t kChromeExePath[]; |
+extern const wchar_t kChromePathRegKey[]; |
+extern const wchar_t kChromePathRegValue[]; |
+ |
+} // namespace cloud_print |
+ |
+#endif // CLOUD_PRINT_VIRTUAL_DRIVER_WIN_PORT_MONITOR_PORT_MONITOR_H_ |
+ |
Property changes on: cloud_print\virtual_driver\win\port_monitor\port_monitor.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |