Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Unified Diff: printing/backend/print_backend_cups.h

Issue 1934013002: Enable the cups backend when --enable-native-cups is specified. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cupsFlag
Patch Set: Select the printing backends at runtime via --enable-native-cups Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « printing/backend/print_backend_chromeos.cc ('k') | printing/backend/print_backend_cups.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: printing/backend/print_backend_cups.h
diff --git a/printing/backend/print_backend_cups.h b/printing/backend/print_backend_cups.h
new file mode 100644
index 0000000000000000000000000000000000000000..173258fdd4ff7764cbfd5fb825f9da41b47d14db
--- /dev/null
+++ b/printing/backend/print_backend_cups.h
@@ -0,0 +1,57 @@
+// Copyright 2016 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 PRINTING_BACKEND_PRINT_BACKEND_CUPS_H_
+#define PRINTING_BACKEND_PRINT_BACKEND_CUPS_H_
+
+#include <string>
+
+#include "base/files/file_util.h"
+#include "printing/backend/cups_helper.h"
+#include "printing/backend/print_backend.h"
+#include "url/gurl.h"
+
+namespace printing {
+
+class PrintBackendCUPS : public PrintBackend {
+ public:
+ PrintBackendCUPS(const GURL& print_server_url,
+ http_encryption_t encryption,
+ bool blocking);
+
+ private:
+ ~PrintBackendCUPS() override {}
+
+ // PrintBackend implementation.
+ bool EnumeratePrinters(PrinterList* printer_list) override;
+ std::string GetDefaultPrinterName() override;
+ bool GetPrinterBasicInfo(const std::string& printer_name,
+ PrinterBasicInfo* printer_info) override;
+ bool GetPrinterSemanticCapsAndDefaults(
+ const std::string& printer_name,
+ PrinterSemanticCapsAndDefaults* printer_info) override;
+ bool GetPrinterCapsAndDefaults(const std::string& printer_name,
+ PrinterCapsAndDefaults* printer_info) override;
+ std::string GetPrinterDriverInfo(const std::string& printer_name) override;
+ bool IsValidPrinter(const std::string& printer_name) override;
+
+ // The following functions are wrappers around corresponding CUPS functions.
+ // <functions>2() are called when print server is specified, and plain version
+ // in another case. There is an issue specifying CUPS_HTTP_DEFAULT in the
+ // functions>2(), it does not work in CUPS prior to 1.4.
+ int GetDests(cups_dest_t** dests);
+ base::FilePath GetPPD(const char* name);
+
+ // Wrapper around cupsGetNamedDest(). Returned result should be freed with
+ // cupsFreeDests().
+ cups_dest_t* GetNamedDest(const std::string& printer_name);
+
+ GURL print_server_url_;
+ http_encryption_t cups_encryption_;
+ bool blocking_;
+};
+
+} // namespace printing
+
+#endif // PRINTING_BACKEND_PRINT_BACKEND_CUPS_H_
« no previous file with comments | « printing/backend/print_backend_chromeos.cc ('k') | printing/backend/print_backend_cups.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698