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

Side by Side Diff: chrome/browser/invalidation/gcm_invalidation_bridge.cc

Issue 270873002: Extract GCMClient data types into separate gcm_types.h (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reupload Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/location.h" 6 #include "base/location.h"
7 #include "base/single_thread_task_runner.h" 7 #include "base/single_thread_task_runner.h"
8 #include "base/thread_task_runner_handle.h" 8 #include "base/thread_task_runner_handle.h"
9 #include "chrome/browser/invalidation/gcm_invalidation_bridge.h" 9 #include "chrome/browser/invalidation/gcm_invalidation_bridge.h"
10 #include "chrome/browser/services/gcm/gcm_service.h" 10 #include "chrome/browser/services/gcm/gcm_service.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 virtual void InvalidateToken(const std::string& token) OVERRIDE; 48 virtual void InvalidateToken(const std::string& token) OVERRIDE;
49 virtual void Register(RegisterCallback callback) OVERRIDE; 49 virtual void Register(RegisterCallback callback) OVERRIDE;
50 virtual void SetMessageReceiver(MessageCallback callback) OVERRIDE; 50 virtual void SetMessageReceiver(MessageCallback callback) OVERRIDE;
51 51
52 void RequestTokenFinished(RequestTokenCallback callback, 52 void RequestTokenFinished(RequestTokenCallback callback,
53 const GoogleServiceAuthError& error, 53 const GoogleServiceAuthError& error,
54 const std::string& token); 54 const std::string& token);
55 55
56 void RegisterFinished(RegisterCallback callback, 56 void RegisterFinished(RegisterCallback callback,
57 const std::string& registration_id, 57 const std::string& registration_id,
58 gcm::GCMClient::Result result); 58 gcm::Result result);
59 59
60 void OnIncomingMessage(const std::string& message, 60 void OnIncomingMessage(const std::string& message,
61 const std::string& echo_token); 61 const std::string& echo_token);
62 62
63 private: 63 private:
64 base::WeakPtr<GCMInvalidationBridge> bridge_; 64 base::WeakPtr<GCMInvalidationBridge> bridge_;
65 scoped_refptr<base::SingleThreadTaskRunner> ui_thread_task_runner_; 65 scoped_refptr<base::SingleThreadTaskRunner> ui_thread_task_runner_;
66 66
67 MessageCallback message_callback_; 67 MessageCallback message_callback_;
68 68
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 RequestTokenCallback callback, 128 RequestTokenCallback callback,
129 const GoogleServiceAuthError& error, 129 const GoogleServiceAuthError& error,
130 const std::string& token) { 130 const std::string& token) {
131 DCHECK(CalledOnValidThread()); 131 DCHECK(CalledOnValidThread());
132 callback.Run(error, token); 132 callback.Run(error, token);
133 } 133 }
134 134
135 void GCMInvalidationBridge::Core::RegisterFinished( 135 void GCMInvalidationBridge::Core::RegisterFinished(
136 RegisterCallback callback, 136 RegisterCallback callback,
137 const std::string& registration_id, 137 const std::string& registration_id,
138 gcm::GCMClient::Result result) { 138 gcm::Result result) {
139 DCHECK(CalledOnValidThread()); 139 DCHECK(CalledOnValidThread());
140 callback.Run(registration_id, result); 140 callback.Run(registration_id, result);
141 } 141 }
142 142
143 void GCMInvalidationBridge::Core::OnIncomingMessage( 143 void GCMInvalidationBridge::Core::OnIncomingMessage(
144 const std::string& message, 144 const std::string& message,
145 const std::string& echo_token) { 145 const std::string& echo_token) {
146 DCHECK(!message_callback_.is_null()); 146 DCHECK(!message_callback_.is_null());
147 message_callback_.Run(message, echo_token); 147 message_callback_.Run(message, echo_token);
148 } 148 }
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 gcm_service_->Register(kInvalidationsAppId, 252 gcm_service_->Register(kInvalidationsAppId,
253 sender_ids, 253 sender_ids,
254 base::Bind(&GCMInvalidationBridge::RegisterFinished, 254 base::Bind(&GCMInvalidationBridge::RegisterFinished,
255 weak_factory_.GetWeakPtr(), 255 weak_factory_.GetWeakPtr(),
256 callback)); 256 callback));
257 } 257 }
258 258
259 void GCMInvalidationBridge::RegisterFinished( 259 void GCMInvalidationBridge::RegisterFinished(
260 syncer::GCMNetworkChannelDelegate::RegisterCallback callback, 260 syncer::GCMNetworkChannelDelegate::RegisterCallback callback,
261 const std::string& registration_id, 261 const std::string& registration_id,
262 gcm::GCMClient::Result result) { 262 gcm::Result result) {
263 DCHECK(CalledOnValidThread()); 263 DCHECK(CalledOnValidThread());
264 core_thread_task_runner_->PostTask( 264 core_thread_task_runner_->PostTask(
265 FROM_HERE, 265 FROM_HERE,
266 base::Bind(&GCMInvalidationBridge::Core::RegisterFinished, 266 base::Bind(&GCMInvalidationBridge::Core::RegisterFinished,
267 core_, 267 core_,
268 callback, 268 callback,
269 registration_id, 269 registration_id,
270 result)); 270 result));
271 } 271 }
272 272
273 void GCMInvalidationBridge::SubscribeForIncomingMessages() { 273 void GCMInvalidationBridge::SubscribeForIncomingMessages() {
274 // No-op if GCMClient is disabled. 274 // No-op if GCMClient is disabled.
275 if (gcm_service_ == NULL) 275 if (gcm_service_ == NULL)
276 return; 276 return;
277 277
278 DCHECK(!subscribed_for_incoming_messages_); 278 DCHECK(!subscribed_for_incoming_messages_);
279 gcm_service_->AddAppHandler(kInvalidationsAppId, this); 279 gcm_service_->AddAppHandler(kInvalidationsAppId, this);
280 subscribed_for_incoming_messages_ = true; 280 subscribed_for_incoming_messages_ = true;
281 } 281 }
282 282
283 void GCMInvalidationBridge::ShutdownHandler() { 283 void GCMInvalidationBridge::ShutdownHandler() {
284 // Nothing to do. 284 // Nothing to do.
285 } 285 }
286 286
287 void GCMInvalidationBridge::OnMessage( 287 void GCMInvalidationBridge::OnMessage(
288 const std::string& app_id, 288 const std::string& app_id,
289 const gcm::GCMClient::IncomingMessage& message) { 289 const gcm::IncomingMessage& message) {
290 gcm::GCMClient::MessageData::const_iterator it; 290 gcm::MessageData::const_iterator it;
291 std::string content; 291 std::string content;
292 std::string echo_token; 292 std::string echo_token;
293 it = message.data.find(kContentKey); 293 it = message.data.find(kContentKey);
294 if (it != message.data.end()) 294 if (it != message.data.end())
295 content = it->second; 295 content = it->second;
296 it = message.data.find(kEchoTokenKey); 296 it = message.data.find(kEchoTokenKey);
297 if (it != message.data.end()) 297 if (it != message.data.end())
298 echo_token = it->second; 298 echo_token = it->second;
299 299
300 core_thread_task_runner_->PostTask( 300 core_thread_task_runner_->PostTask(
301 FROM_HERE, 301 FROM_HERE,
302 base::Bind(&GCMInvalidationBridge::Core::OnIncomingMessage, 302 base::Bind(&GCMInvalidationBridge::Core::OnIncomingMessage,
303 core_, 303 core_,
304 content, 304 content,
305 echo_token)); 305 echo_token));
306 } 306 }
307 307
308 void GCMInvalidationBridge::OnMessagesDeleted(const std::string& app_id) { 308 void GCMInvalidationBridge::OnMessagesDeleted(const std::string& app_id) {
309 // Cacheinvalidation doesn't use long lived non-collapsable messages with GCM. 309 // Cacheinvalidation doesn't use long lived non-collapsable messages with GCM.
310 // Android implementation of cacheinvalidation doesn't handle MessagesDeleted 310 // Android implementation of cacheinvalidation doesn't handle MessagesDeleted
311 // callback so this should be no-op in desktop version as well. 311 // callback so this should be no-op in desktop version as well.
312 } 312 }
313 313
314 void GCMInvalidationBridge::OnSendError( 314 void GCMInvalidationBridge::OnSendError(
315 const std::string& app_id, 315 const std::string& app_id,
316 const gcm::GCMClient::SendErrorDetails& send_error_details) { 316 const gcm::SendErrorDetails& send_error_details) {
317 // cacheinvalidation doesn't send messages over GCM. 317 // cacheinvalidation doesn't send messages over GCM.
318 NOTREACHED(); 318 NOTREACHED();
319 } 319 }
320 320
321 } // namespace invalidation 321 } // namespace invalidation
OLDNEW
« no previous file with comments | « chrome/browser/invalidation/gcm_invalidation_bridge.h ('k') | chrome/browser/invalidation/gcm_invalidation_bridge_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698