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

Unified Diff: chrome/service/cloud_print/print_system.h

Issue 3051006: Used the service utility process host to render PDFs in a sandbox for the Win... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: CUPS tweaks Created 10 years, 5 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 | « no previous file | chrome/service/cloud_print/print_system_cups.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/service/cloud_print/print_system.h
===================================================================
--- chrome/service/cloud_print/print_system.h (revision 53070)
+++ chrome/service/cloud_print/print_system.h (working copy)
@@ -81,35 +81,6 @@
// functionality on some platforms, while reusing core (CUPS) functions.
class PrintSystem : public base::RefCountedThreadSafe<PrintSystem> {
public:
- virtual ~PrintSystem() {}
-
- // Enumerates the list of installed local and network printers.
- virtual void EnumeratePrinters(PrinterList* printer_list) = 0;
-
- // Gets the capabilities and defaults for a specific printer.
- virtual bool GetPrinterCapsAndDefaults(const std::string& printer_name,
- PrinterCapsAndDefaults* printer_info) = 0;
-
- // Returns true if ticket is valid.
- virtual bool ValidatePrintTicket(const std::string& printer_name,
- const std::string& print_ticket_data) = 0;
-
- // Send job to the printer.
- virtual bool SpoolPrintJob(const std::string& print_ticket,
- const FilePath& print_data_file_path,
- const std::string& print_data_mime_type,
- const std::string& printer_name,
- const std::string& job_title,
- PlatformJobId* job_id_ret) = 0;
-
- // Get details for already spooled job.
- virtual bool GetJobDetails(const std::string& printer_name,
- PlatformJobId job_id,
- PrintJobDetails *job_details) = 0;
-
- // Returns true if printer_name points to a valid printer.
- virtual bool IsValidPrinter(const std::string& printer_name) = 0;
-
class PrintServerWatcher
: public base::RefCountedThreadSafe<PrintServerWatcher> {
public:
@@ -141,11 +112,56 @@
virtual bool GetCurrentPrinterInfo(PrinterBasicInfo* printer_info) = 0;
};
+ class JobSpooler : public base::RefCountedThreadSafe<JobSpooler> {
+ public:
+ // Callback interface for JobSpooler notifications.
+ class Delegate {
+ public:
+ virtual ~Delegate() { }
+ virtual void OnJobSpoolSucceeded(const PlatformJobId& job_id) = 0;
+ virtual void OnJobSpoolFailed() = 0;
+ };
+
+ virtual ~JobSpooler() {}
+ // Spool job to the printer asynchronously. Caller will be notified via
+ // |delegate|. Note that only one print job can be in progress at any given
+ // time. Subsequent calls to Spool (before the Delegate::OnJobSpoolSucceeded
+ // or Delegate::OnJobSpoolFailed methods are called) can fail.
+ virtual bool Spool(const std::string& print_ticket,
+ const FilePath& print_data_file_path,
+ const std::string& print_data_mime_type,
+ const std::string& printer_name,
+ const std::string& job_title,
+ JobSpooler::Delegate* delegate) = 0;
+ };
+
+ virtual ~PrintSystem() {}
+
+ // Enumerates the list of installed local and network printers.
+ virtual void EnumeratePrinters(PrinterList* printer_list) = 0;
+
+ // Gets the capabilities and defaults for a specific printer.
+ virtual bool GetPrinterCapsAndDefaults(const std::string& printer_name,
+ PrinterCapsAndDefaults* printer_info) = 0;
+
+ // Returns true if ticket is valid.
+ virtual bool ValidatePrintTicket(const std::string& printer_name,
+ const std::string& print_ticket_data) = 0;
+
+ // Get details for already spooled job.
+ virtual bool GetJobDetails(const std::string& printer_name,
+ PlatformJobId job_id,
+ PrintJobDetails *job_details) = 0;
+
+ // Returns true if printer_name points to a valid printer.
+ virtual bool IsValidPrinter(const std::string& printer_name) = 0;
+
// Factory methods to create corresponding watcher. Callee is responsible
// for deleting objects. Return NULL if failed.
virtual PrintServerWatcher* CreatePrintServerWatcher() = 0;
virtual PrinterWatcher* CreatePrinterWatcher(
const std::string& printer_name) = 0;
+ virtual JobSpooler* CreateJobSpooler() = 0;
// Generate unique for proxy.
static std::string GenerateProxyId();
@@ -164,6 +180,7 @@
// the workaround was not needed for my machine).
typedef PrintSystem::PrintServerWatcher::Delegate PrintServerWatcherDelegate;
typedef PrintSystem::PrinterWatcher::Delegate PrinterWatcherDelegate;
+typedef PrintSystem::JobSpooler::Delegate JobSpoolerDelegate;
} // namespace cloud_print
« no previous file with comments | « no previous file | chrome/service/cloud_print/print_system_cups.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698