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

Side by Side Diff: chrome/browser/printing/cloud_print/cloud_print_proxy_service.cc

Issue 8403015: base::Bind: Convert ServiceProcessControl::CloudPrintProxyInfoHandler. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/service/service_process_control.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" 5 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h"
6 6
7 #include <stack> 7 #include <stack>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/utf_string_conversions.h" 11 #include "base/utf_string_conversions.h"
csilv 2011/10/27 00:13:09 add bind_helpers.h
James Hawkins 2011/10/27 02:43:42 Done.
12 #include "chrome/browser/browser_process.h" 12 #include "chrome/browser/browser_process.h"
13 #include "chrome/browser/notifications/desktop_notification_service.h" 13 #include "chrome/browser/notifications/desktop_notification_service.h"
14 #include "chrome/browser/notifications/notification.h" 14 #include "chrome/browser/notifications/notification.h"
15 #include "chrome/browser/notifications/notification_ui_manager.h" 15 #include "chrome/browser/notifications/notification_ui_manager.h"
16 #include "chrome/browser/prefs/pref_service.h" 16 #include "chrome/browser/prefs/pref_service.h"
17 #include "chrome/browser/printing/cloud_print/cloud_print_setup_flow.h" 17 #include "chrome/browser/printing/cloud_print/cloud_print_setup_flow.h"
18 #include "chrome/browser/profiles/profile.h" 18 #include "chrome/browser/profiles/profile.h"
19 #include "chrome/browser/service/service_process_control.h" 19 #include "chrome/browser/service/service_process_control.h"
20 #include "chrome/browser/ui/browser_list.h" 20 #include "chrome/browser/ui/browser_list.h"
21 #include "chrome/common/cloud_print/cloud_print_proxy_info.h" 21 #include "chrome/common/cloud_print/cloud_print_proxy_info.h"
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 g_browser_process->notification_ui_manager()->CancelById( 145 g_browser_process->notification_ui_manager()->CancelById(
146 token_expired_delegate_->id()); 146 token_expired_delegate_->id());
147 token_expired_delegate_ = NULL; 147 token_expired_delegate_ = NULL;
148 if (!keep_alive) 148 if (!keep_alive)
149 BrowserList::EndKeepAlive(); 149 BrowserList::EndKeepAlive();
150 } 150 }
151 } 151 }
152 152
153 void CloudPrintProxyService::OnCloudPrintSetupClosed() { 153 void CloudPrintProxyService::OnCloudPrintSetupClosed() {
154 MessageLoop::current()->PostTask( 154 MessageLoop::current()->PostTask(
155 FROM_HERE, NewRunnableFunction(&BrowserList::EndKeepAlive)); 155 FROM_HERE, base::Bind(&BrowserList::EndKeepAlive));
156 } 156 }
157 157
158 void CloudPrintProxyService::RefreshCloudPrintProxyStatus() { 158 void CloudPrintProxyService::RefreshCloudPrintProxyStatus() {
159 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 159 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
160 ServiceProcessControl* process_control = ServiceProcessControl::GetInstance(); 160 ServiceProcessControl* process_control = ServiceProcessControl::GetInstance();
161 DCHECK(process_control->is_connected()); 161 DCHECK(process_control->is_connected());
162 ServiceProcessControl::CloudPrintProxyInfoHandler* callback = 162 ServiceProcessControl::CloudPrintProxyInfoHandler callback =
163 NewCallback(this, &CloudPrintProxyService::ProxyInfoCallback); 163 base::Bind(&CloudPrintProxyService::ProxyInfoCallback,
164 base::Unretained(this));
164 // GetCloudPrintProxyInfo takes ownership of callback. 165 // GetCloudPrintProxyInfo takes ownership of callback.
165 process_control->GetCloudPrintProxyInfo(callback); 166 process_control->GetCloudPrintProxyInfo(callback);
166 } 167 }
167 168
168 void CloudPrintProxyService::EnableCloudPrintProxy(const std::string& lsid, 169 void CloudPrintProxyService::EnableCloudPrintProxy(const std::string& lsid,
169 const std::string& email) { 170 const std::string& email) {
170 ServiceProcessControl* process_control = ServiceProcessControl::GetInstance(); 171 ServiceProcessControl* process_control = ServiceProcessControl::GetInstance();
171 DCHECK(process_control->is_connected()); 172 DCHECK(process_control->is_connected());
172 process_control->Send(new ServiceMsg_EnableCloudPrintProxy(lsid)); 173 process_control->Send(new ServiceMsg_EnableCloudPrintProxy(lsid));
173 // Assume the IPC worked. 174 // Assume the IPC worked.
(...skipping 28 matching lines...) Expand all
202 proxy_id_ = proxy_info.proxy_id; 203 proxy_id_ = proxy_info.proxy_id;
203 profile_->GetPrefs()->SetString( 204 profile_->GetPrefs()->SetString(
204 prefs::kCloudPrintEmail, 205 prefs::kCloudPrintEmail,
205 proxy_info.enabled ? proxy_info.email : std::string()); 206 proxy_info.enabled ? proxy_info.email : std::string());
206 } 207 }
207 208
208 bool CloudPrintProxyService::InvokeServiceTask(const base::Closure& task) { 209 bool CloudPrintProxyService::InvokeServiceTask(const base::Closure& task) {
209 ServiceProcessControl::GetInstance()->Launch(task, base::Closure()); 210 ServiceProcessControl::GetInstance()->Launch(task, base::Closure());
210 return true; 211 return true;
211 } 212 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/service/service_process_control.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698