| Index: cloud_print/virtual_driver/win/port_monitor/port_monitor.h
|
| diff --git a/cloud_print/virtual_driver/win/port_monitor/port_monitor.h b/cloud_print/virtual_driver/win/port_monitor/port_monitor.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..aac966323d0e123ac486838d7e8ab89fe2767458
|
| --- /dev/null
|
| +++ b/cloud_print/virtual_driver/win/port_monitor/port_monitor.h
|
| @@ -0,0 +1,94 @@
|
| +// 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.
|
| +
|
| +#ifndef CLOUD_PRINT_VIRTUAL_DRIVER_WIN_PORT_MONITOR_PORT_MONITOR_H_
|
| +#define CLOUD_PRINT_VIRTUAL_DRIVER_WIN_PORT_MONITOR_PORT_MONITOR_H_
|
| +
|
| +#include <windows.h>
|
| +#include <string>
|
| +#include "base/files/file_util.h"
|
| +#include "base/process/process.h"
|
| +#include "base/strings/string16.h"
|
| +
|
| +namespace cloud_print {
|
| +
|
| +// Returns path to be used for launching Chrome.
|
| +base::FilePath GetChromeExePath();
|
| +
|
| +// Returns path to user profile to be used for launching Chrome.
|
| +base::FilePath GetChromeProfilePath();
|
| +
|
| +// Returns the print command to launch, if set, instead of Chrome.
|
| +base::string16 GetPrintCommandTemplate();
|
| +
|
| +// 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 kChromeExePathRegValue[];
|
| +extern const wchar_t kChromeProfilePathRegValue[];
|
| +extern const wchar_t kPrintCommandRegValue[];
|
| +extern const bool kIsUnittest;
|
| +
|
| +} // namespace cloud_print
|
| +
|
| +#endif // CLOUD_PRINT_VIRTUAL_DRIVER_WIN_PORT_MONITOR_PORT_MONITOR_H_
|
|
|