| Index: chrome/browser/printing/print_system_task_proxy.h
|
| diff --git a/chrome/browser/printing/print_system_task_proxy.h b/chrome/browser/printing/print_system_task_proxy.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8d5b00c0f5a3398c31004335966e1e6a96993299
|
| --- /dev/null
|
| +++ b/chrome/browser/printing/print_system_task_proxy.h
|
| @@ -0,0 +1,73 @@
|
| +// 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 CHROME_BROWSER_PRINTING_PRINT_SYSTEM_TASK_PROXY_H_
|
| +#define CHROME_BROWSER_PRINTING_PRINT_SYSTEM_TASK_PROXY_H_
|
| +#pragma once
|
| +
|
| +#include "base/memory/ref_counted.h"
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "build/build_config.h"
|
| +#include "chrome/browser/ui/webui/print_preview_handler.h"
|
| +#include "content/browser/browser_thread.h"
|
| +
|
| +namespace base {
|
| +class DictionaryValue;
|
| +class FundamentalValue;
|
| +class StringValue;
|
| +}
|
| +
|
| +namespace printing {
|
| +class PrintBackend;
|
| +}
|
| +
|
| +#if defined(UNIT_TEST) && defined(USE_CUPS) && !defined(OS_MACOSX)
|
| +typedef struct cups_option_s cups_option_t;
|
| +
|
| +namespace printing_internal {
|
| +// Helper function to parse the lpoptions custom settings. |num_options| and
|
| +// |options| will be updated if the custom settings for |printer_name| are
|
| +// found, otherwise nothing is done.
|
| +// NOTE: This function is declared here so it can be exposed for unit testing.
|
| +void parse_lpoptions(const FilePath& filepath, const std::string& printer_name,
|
| + int* num_options, cups_option_t** options);
|
| +} // namespace printing_internal
|
| +
|
| +#endif
|
| +
|
| +class PrintSystemTaskProxy
|
| + : public base::RefCountedThreadSafe<PrintSystemTaskProxy,
|
| + BrowserThread::DeleteOnUIThread> {
|
| + public:
|
| + PrintSystemTaskProxy(const base::WeakPtr<PrintPreviewHandler>& handler,
|
| + printing::PrintBackend* print_backend,
|
| + bool has_logged_printers_count);
|
| +
|
| + void GetDefaultPrinter();
|
| +
|
| + void EnumeratePrinters();
|
| +
|
| + void GetPrinterCapabilities(const std::string& printer_name);
|
| +
|
| + private:
|
| + friend struct BrowserThread::DeleteOnThread<BrowserThread::UI>;
|
| + friend class DeleteTask<PrintSystemTaskProxy>;
|
| +
|
| + void SendDefaultPrinter(const base::StringValue* default_printer,
|
| + const base::StringValue* cloud_print_data);
|
| + void SetupPrinterList(base::ListValue* printers);
|
| + void SendPrinterCapabilities(base::DictionaryValue* settings_info);
|
| +
|
| + ~PrintSystemTaskProxy();
|
| +
|
| + base::WeakPtr<PrintPreviewHandler> handler_;
|
| +
|
| + scoped_refptr<printing::PrintBackend> print_backend_;
|
| +
|
| + bool has_logged_printers_count_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(PrintSystemTaskProxy);
|
| +};
|
| +
|
| +#endif // CHROME_BROWSER_PRINTING_PRINT_SYSTEM_TASK_PROXY_H_
|
|
|