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

Unified Diff: chrome/browser/service_process/service_process_control.h

Issue 208653010: Use service process to collect printers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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
Index: chrome/browser/service_process/service_process_control.h
diff --git a/chrome/browser/service_process/service_process_control.h b/chrome/browser/service_process/service_process_control.h
index eedd4a3fd074b2cb328d144fb396be6c376db85b..9db9324f84376196af2e8d97ffbde3b086307219 100644
--- a/chrome/browser/service_process/service_process_control.h
+++ b/chrome/browser/service_process/service_process_control.h
@@ -60,13 +60,17 @@ class ServiceProcessControl : public IPC::Sender,
SERVICE_EVENT_INFO_REPLY,
SERVICE_EVENT_HISTOGRAMS_REQUEST,
SERVICE_EVENT_HISTOGRAMS_REPLY,
+ SERVICE_PRINTERS_REQUEST,
+ SERVICE_PRINTERS_REPLY,
SERVICE_EVENT_MAX,
};
typedef IDMap<ServiceProcessControl>::iterator iterator;
typedef std::queue<IPC::Message> MessageQueue;
typedef base::Callback<void(const cloud_print::CloudPrintProxyInfo&)>
- CloudPrintProxyInfoHandler;
+ CloudPrintProxyInfoCallback;
+ typedef base::Callback<void(const std::vector<std::string>&)>
+ PrintersCallback;
// Returns the singleton instance of this class.
static ServiceProcessControl* GetInstance();
@@ -118,7 +122,7 @@ class ServiceProcessControl : public IPC::Sender,
// reply from service. The method resets any previous callback.
// This call starts service if needed.
bool GetCloudPrintProxyInfo(
- const CloudPrintProxyInfoHandler& cloud_print_status_callback);
+ const CloudPrintProxyInfoCallback& cloud_print_status_callback);
// Send request for histograms collected in service process.
// Returns true if request was sent, and callback will be called in case of
@@ -128,6 +132,13 @@ class ServiceProcessControl : public IPC::Sender,
bool GetHistograms(const base::Closure& cloud_print_status_callback,
const base::TimeDelta& timeout);
+ // Send request for printers available for cloud print proxy.
+ // The callback gets the information when received.
+ // Returns true if request was sent. Callback will be called only in case of
+ // reply from service. The method resets any previous callback.
+ // This call starts service if needed.
+ bool GetPrinters(const PrintersCallback& enumerate_printers_callback);
+
private:
// This class is responsible for launching the service process on the
// PROCESS_LAUNCHER thread.
@@ -175,6 +186,7 @@ class ServiceProcessControl : public IPC::Sender,
void OnCloudPrintProxyInfo(
const cloud_print::CloudPrintProxyInfo& proxy_info);
void OnHistograms(const std::vector<std::string>& pickled_histograms);
+ void OnPrinters(const std::vector<std::string>& printers);
// Runs callback provided in |GetHistograms()|.
void RunHistogramsCallback();
@@ -204,9 +216,13 @@ class ServiceProcessControl : public IPC::Sender,
// Callbacks that get invoked when there was a connection failure.
TaskList connect_failure_tasks_;
+ // Callback that gets invoked when a printers is received from
+ // the cloud print proxy.
+ PrintersCallback printers_callback_;
+
// Callback that gets invoked when a status message is received from
// the cloud print proxy.
- CloudPrintProxyInfoHandler cloud_print_info_callback_;
+ CloudPrintProxyInfoCallback cloud_print_info_callback_;
// Callback that gets invoked when a message with histograms is received from
// the service process.

Powered by Google App Engine
This is Rietveld 408576698