summaryrefslogtreecommitdiffstats
path: root/chrome/service/cloud_print/print_system.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/service/cloud_print/print_system.h')
-rw-r--r--chrome/service/cloud_print/print_system.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/chrome/service/cloud_print/print_system.h b/chrome/service/cloud_print/print_system.h
index 517a665..32fa8f8 100644
--- a/chrome/service/cloud_print/print_system.h
+++ b/chrome/service/cloud_print/print_system.h
@@ -131,6 +131,20 @@ class PrintSystem : public base::RefCountedThreadSafe<PrintSystem> {
JobSpooler::Delegate* delegate) = 0;
};
+ class PrintSystemResult {
+ public:
+ PrintSystemResult(bool succeeded, const std::string& message)
+ : succeeded_(succeeded), message_(message) { }
+ bool succeeded() const { return succeeded_; }
+ std::string message() const { return message_; }
+
+ private:
+ bool succeeded_;
+ std::string message_;
+
+ PrintSystemResult() { }
+ };
+
typedef Callback3<
bool,
const std::string&,
@@ -141,7 +155,7 @@ class PrintSystem : public base::RefCountedThreadSafe<PrintSystem> {
// Initialize print system. This need to be called before any other function
// of PrintSystem.
- virtual void Init() = 0;
+ virtual PrintSystemResult Init() = 0;
// Enumerates the list of installed local and network printers.
virtual void EnumeratePrinters(printing::PrinterList* printer_list) = 0;