Upstream version 5.34.98.0
[platform/framework/web/crosswalk.git] / src / chrome / service / cloud_print / print_system_win.h
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_