Home | History | Annotate | Download | only in cloud_print
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_SERVICE_CLOUD_PRINT_PRINT_SYSTEM_WIN_H_
      6 #define CHROME_SERVICE_CLOUD_PRINT_PRINT_SYSTEM_WIN_H_
      7 
      8 #include "chrome/service/cloud_print/print_system.h"
      9 
     10 namespace cloud_print {
     11 
     12 class PrintSystemWin : public PrintSystem {
     13  public:
     14   PrintSystemWin();
     15   virtual ~PrintSystemWin();
     16 
     17   // PrintSystem implementation.
     18   virtual PrintSystem::PrintSystemResult EnumeratePrinters(
     19       printing::PrinterList* printer_list) OVERRIDE;
     20   virtual bool IsValidPrinter(const std::string& printer_name) OVERRIDE;
     21   virtual bool GetJobDetails(const std::string& printer_name,
     22                              PlatformJobId job_id,
     23                              PrintJobDetails *job_details) OVERRIDE;
     24   virtual PrintSystem::PrintServerWatcher* CreatePrintServerWatcher() OVERRIDE;
     25   virtual PrintSystem::PrinterWatcher* CreatePrinterWatcher(
     26       const std::string& printer_name) OVERRIDE;
     27 
     28  protected:
     29   std::string GetPrinterDriverInfo(const std::string& printer_name) const;
     30 
     31  private:
     32   scoped_refptr<printing::PrintBackend> print_backend_;
     33 };
     34 
     35 }  // namespace cloud_print
     36 
     37 #endif  // CHROME_SERVICE_CLOUD_PRINT_PRINT_SYSTEM_WIN_H_
     38