| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/services/gcm/gcm_profile_service.h" | 5 #include "chrome/browser/services/gcm/gcm_profile_service.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/base64.h" | 10 #include "base/base64.h" |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 url_request_context_getter); | 265 url_request_context_getter); |
| 266 void Reset(); | 266 void Reset(); |
| 267 void CheckOut(); | 267 void CheckOut(); |
| 268 void Register(const std::string& app_id, | 268 void Register(const std::string& app_id, |
| 269 const std::vector<std::string>& sender_ids, | 269 const std::vector<std::string>& sender_ids, |
| 270 const std::string& cert); | 270 const std::string& cert); |
| 271 void Unregister(const std::string& app_id); | 271 void Unregister(const std::string& app_id); |
| 272 void Send(const std::string& app_id, | 272 void Send(const std::string& app_id, |
| 273 const std::string& receiver_id, | 273 const std::string& receiver_id, |
| 274 const GCMClient::OutgoingMessage& message); | 274 const GCMClient::OutgoingMessage& message); |
| 275 GCMClient* GetGCMClient(); |
| 275 | 276 |
| 276 private: | 277 private: |
| 277 friend class base::RefCountedThreadSafe<IOWorker>; | 278 friend class base::RefCountedThreadSafe<IOWorker>; |
| 278 virtual ~IOWorker(); | 279 virtual ~IOWorker(); |
| 279 | 280 |
| 280 const base::WeakPtr<GCMProfileService> service_; | 281 const base::WeakPtr<GCMProfileService> service_; |
| 281 | 282 |
| 282 scoped_ptr<GCMClient> gcm_client_; | 283 scoped_ptr<GCMClient> gcm_client_; |
| 283 }; | 284 }; |
| 284 | 285 |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 447 | 448 |
| 448 void GCMProfileService::IOWorker::Send( | 449 void GCMProfileService::IOWorker::Send( |
| 449 const std::string& app_id, | 450 const std::string& app_id, |
| 450 const std::string& receiver_id, | 451 const std::string& receiver_id, |
| 451 const GCMClient::OutgoingMessage& message) { | 452 const GCMClient::OutgoingMessage& message) { |
| 452 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 453 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
| 453 | 454 |
| 454 gcm_client_->Send(app_id, receiver_id, message); | 455 gcm_client_->Send(app_id, receiver_id, message); |
| 455 } | 456 } |
| 456 | 457 |
| 458 GCMClient* GCMProfileService::IOWorker::GetGCMClient() { |
| 459 return gcm_client_.get(); |
| 460 } |
| 461 |
| 457 GCMProfileService::RegistrationInfo::RegistrationInfo() { | 462 GCMProfileService::RegistrationInfo::RegistrationInfo() { |
| 458 } | 463 } |
| 459 | 464 |
| 460 GCMProfileService::RegistrationInfo::~RegistrationInfo() { | 465 GCMProfileService::RegistrationInfo::~RegistrationInfo() { |
| 461 } | 466 } |
| 462 | 467 |
| 463 bool GCMProfileService::RegistrationInfo::IsValid() const { | 468 bool GCMProfileService::RegistrationInfo::IsValid() const { |
| 464 return !sender_ids.empty() && !registration_id.empty(); | 469 return !sender_ids.empty() && !registration_id.empty(); |
| 465 } | 470 } |
| 466 | 471 |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 673 content::BrowserThread::PostTask( | 678 content::BrowserThread::PostTask( |
| 674 content::BrowserThread::IO, | 679 content::BrowserThread::IO, |
| 675 FROM_HERE, | 680 FROM_HERE, |
| 676 base::Bind(&GCMProfileService::IOWorker::Send, | 681 base::Bind(&GCMProfileService::IOWorker::Send, |
| 677 io_worker_, | 682 io_worker_, |
| 678 app_id, | 683 app_id, |
| 679 receiver_id, | 684 receiver_id, |
| 680 message)); | 685 message)); |
| 681 } | 686 } |
| 682 | 687 |
| 688 bool GCMProfileService::IsSignedIn() { |
| 689 return !username_.empty(); |
| 690 } |
| 691 |
| 692 GCMClient* GCMProfileService::GetGCMClient() { |
| 693 return io_worker_->GetGCMClient(); |
| 694 } |
| 695 |
| 683 void GCMProfileService::Observe(int type, | 696 void GCMProfileService::Observe(int type, |
| 684 const content::NotificationSource& source, | 697 const content::NotificationSource& source, |
| 685 const content::NotificationDetails& details) { | 698 const content::NotificationDetails& details) { |
| 686 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); | 699 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
| 687 | 700 |
| 688 switch (type) { | 701 switch (type) { |
| 689 case chrome::NOTIFICATION_GOOGLE_SIGNIN_SUCCESSFUL: { | 702 case chrome::NOTIFICATION_GOOGLE_SIGNIN_SUCCESSFUL: { |
| 690 const GoogleServiceSigninSuccessDetails* signin_details = | 703 const GoogleServiceSigninSuccessDetails* signin_details = |
| 691 content::Details<GoogleServiceSigninSuccessDetails>(details).ptr(); | 704 content::Details<GoogleServiceSigninSuccessDetails>(details).ptr(); |
| 692 // This could be called multiple times when the password changed. | 705 // This could be called multiple times when the password changed. |
| (...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1042 | 1055 |
| 1043 return true; | 1056 return true; |
| 1044 } | 1057 } |
| 1045 | 1058 |
| 1046 // static | 1059 // static |
| 1047 const char* GCMProfileService::GetPersistentRegisterKeyForTesting() { | 1060 const char* GCMProfileService::GetPersistentRegisterKeyForTesting() { |
| 1048 return kRegistrationKey; | 1061 return kRegistrationKey; |
| 1049 } | 1062 } |
| 1050 | 1063 |
| 1051 } // namespace gcm | 1064 } // namespace gcm |
| OLD | NEW |