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

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

Issue 2519002: Redesign cloud printing subsystem layer. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 10 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 | « chrome/service/cloud_print/print_system_win.cc ('k') | chrome/service/cloud_print/printer_info_cups.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/service/cloud_print/printer_info.h
===================================================================
--- chrome/service/cloud_print/printer_info.h (revision 48976)
+++ chrome/service/cloud_print/printer_info.h (working copy)
@@ -1,127 +0,0 @@
-// Copyright (c) 2010 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_SERVICE_CLOUD_PRINT_PRINTER_INFO_H_
-#define CHROME_SERVICE_CLOUD_PRINT_PRINTER_INFO_H_
-
-#include <map>
-#include <string>
-#include <vector>
-
-#include "base/file_path.h"
-
-// This is the interface for platform-specific code for cloud print
-namespace cloud_print {
-
-typedef int PlatformJobId;
-
-struct PrinterBasicInfo {
- std::string printer_name;
- std::string printer_description;
- int printer_status;
- std::map<std::string, std::string> options;
- PrinterBasicInfo() : printer_status(0) {
- }
-};
-
-typedef std::vector<PrinterBasicInfo> PrinterList;
-
-struct PrinterCapsAndDefaults {
- std::string printer_capabilities;
- std::string caps_mime_type;
- std::string printer_defaults;
- std::string defaults_mime_type;
-};
-
-enum PrintJobStatus {
- PRINT_JOB_STATUS_INVALID,
- PRINT_JOB_STATUS_IN_PROGRESS,
- PRINT_JOB_STATUS_ERROR,
- PRINT_JOB_STATUS_COMPLETED
-};
-
-struct PrintJobDetails {
- PrintJobStatus status;
- int platform_status_flags;
- std::string status_message;
- int total_pages;
- int pages_printed;
- PrintJobDetails() : status(PRINT_JOB_STATUS_INVALID),
- platform_status_flags(0), total_pages(0),
- pages_printed(0) {
- }
- void Clear() {
- status = PRINT_JOB_STATUS_INVALID;
- platform_status_flags = 0;
- status_message.clear();
- total_pages = 0;
- pages_printed = 0;
- }
- bool operator ==(const PrintJobDetails& other) const {
- return (status == other.status) &&
- (platform_status_flags == other.platform_status_flags) &&
- (status_message == other.status_message) &&
- (total_pages == other.total_pages) &&
- (pages_printed == other.pages_printed);
- }
- bool operator !=(const PrintJobDetails& other) const {
- return !(*this == other);
- }
-};
-
-// Enumerates the list of installed local and network printers.
-void EnumeratePrinters(PrinterList* printer_list);
-// Gets the capabilities and defaults for a specific printer.
-bool GetPrinterCapsAndDefaults(const std::string& printer_name,
- PrinterCapsAndDefaults* printer_info);
-bool ValidatePrintTicket(const std::string& printer_name,
- const std::string& print_ticket_data);
-std::string GenerateProxyId();
-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);
-
-bool GetJobDetails(const std::string& printer_name,
- PlatformJobId job_id,
- PrintJobDetails *job_details);
-bool IsValidPrinter(const std::string& printer_name);
-
-// A class that watches changes to a printer or a print server.
-// The set of notifications are very coarse-grained (even though the Windows
-// API allows for listening to fine-grained details about a printer, this class
-// does not support that level of fine-grained control.
-class PrinterChangeNotifier {
- public:
- class Delegate {
- public:
- virtual void OnPrinterAdded() = 0;
- virtual void OnPrinterDeleted() = 0;
- virtual void OnPrinterChanged() = 0;
- virtual void OnJobChanged() = 0;
- };
- PrinterChangeNotifier();
- ~PrinterChangeNotifier();
- bool StartWatching(const std::string& printer_name, Delegate* delegate);
- bool StopWatching();
- bool GetCurrentPrinterInfo(PrinterBasicInfo* printer_info);
- private:
- // Internal state maintained by the PrinterChangeNotifier class.
- class NotificationState;
- NotificationState* state_;
- DISALLOW_COPY_AND_ASSIGN(PrinterChangeNotifier);
-};
-
-// This typedef is to workaround the issue with certain versions of
-// Visual Studio where it gets confused between multiple Delegate
-// classes and gives a C2500 error. (I saw this error on the try bots -
-// the workaround was not needed for my machine).
-typedef PrinterChangeNotifier::Delegate PrinterChangeNotifierDelegate;
-
-} // namespace cloud_print
-
-#endif // CHROME_SERVICE_CLOUD_PRINT_PRINTER_INFO_H_
-
« no previous file with comments | « chrome/service/cloud_print/print_system_win.cc ('k') | chrome/service/cloud_print/printer_info_cups.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698