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

Unified Diff: jingle/notifier/listener/xmpp_push_client.cc

Issue 10388227: Revert 138216 - [Sync] Turn notifier::PushClient into an interface (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « jingle/notifier/listener/xmpp_push_client.h ('k') | jingle/notifier/listener/xmpp_push_client_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: jingle/notifier/listener/xmpp_push_client.cc
===================================================================
--- jingle/notifier/listener/xmpp_push_client.cc (revision 138220)
+++ jingle/notifier/listener/xmpp_push_client.cc (working copy)
@@ -1,138 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "jingle/notifier/listener/xmpp_push_client.h"
-
-#include "base/logging.h"
-#include "base/message_loop_proxy.h"
-#include "jingle/notifier/base/notifier_options_util.h"
-#include "jingle/notifier/listener/push_client_observer.h"
-#include "jingle/notifier/listener/push_notifications_send_update_task.h"
-
-namespace notifier {
-
-XmppPushClient::XmppPushClient(const NotifierOptions& notifier_options)
- : notifier_options_(notifier_options) {
- DCHECK(notifier_options_.request_context_getter->
- GetIOMessageLoopProxy()->BelongsToCurrentThread());
-}
-
-XmppPushClient::~XmppPushClient() {
- DCHECK(non_thread_safe_.CalledOnValidThread());
-}
-
-void XmppPushClient::OnConnect(
- base::WeakPtr<buzz::XmppTaskParentInterface> base_task) {
- DCHECK(non_thread_safe_.CalledOnValidThread());
- base_task_ = base_task;
-
- if (!base_task_.get()) {
- NOTREACHED();
- return;
- }
-
- // Listen for notifications.
- {
- // Owned by |base_task_|.
- PushNotificationsListenTask* listener =
- new PushNotificationsListenTask(base_task_, this);
- listener->Start();
- }
-
- // Send subscriptions.
- {
- // Owned by |base_task_|.
- PushNotificationsSubscribeTask* subscribe_task =
- new PushNotificationsSubscribeTask(base_task_, subscriptions_, this);
- subscribe_task->Start();
- }
-
- std::vector<Notification> notifications_to_send;
- notifications_to_send.swap(pending_notifications_to_send_);
- for (std::vector<Notification>::const_iterator it =
- notifications_to_send.begin();
- it != notifications_to_send.end(); ++it) {
- DVLOG(1) << "Push: Sending pending notification " << it->ToString();
- SendNotification(*it);
- }
-}
-
-void XmppPushClient::OnDisconnect() {
- DCHECK(non_thread_safe_.CalledOnValidThread());
- base_task_.reset();
- FOR_EACH_OBSERVER(PushClientObserver, observers_,
- OnNotificationStateChange(false));
-}
-
-void XmppPushClient::OnNotificationReceived(
- const Notification& notification) {
- DCHECK(non_thread_safe_.CalledOnValidThread());
- FOR_EACH_OBSERVER(PushClientObserver, observers_,
- OnIncomingNotification(notification));
-}
-
-void XmppPushClient::OnSubscribed() {
- DCHECK(non_thread_safe_.CalledOnValidThread());
- FOR_EACH_OBSERVER(PushClientObserver, observers_,
- OnNotificationStateChange(true));
-}
-
-void XmppPushClient::OnSubscriptionError() {
- DCHECK(non_thread_safe_.CalledOnValidThread());
- FOR_EACH_OBSERVER(PushClientObserver, observers_,
- OnNotificationStateChange(false));
-}
-
-void XmppPushClient::AddObserver(PushClientObserver* observer) {
- DCHECK(non_thread_safe_.CalledOnValidThread());
- observers_.AddObserver(observer);
-}
-
-void XmppPushClient::RemoveObserver(PushClientObserver* observer) {
- DCHECK(non_thread_safe_.CalledOnValidThread());
- observers_.RemoveObserver(observer);
-}
-
-void XmppPushClient::UpdateSubscriptions(
- const SubscriptionList& subscriptions) {
- DCHECK(non_thread_safe_.CalledOnValidThread());
- subscriptions_ = subscriptions;
-}
-
-void XmppPushClient::UpdateCredentials(
- const std::string& email, const std::string& token) {
- DCHECK(non_thread_safe_.CalledOnValidThread());
- DVLOG(1) << "Push: Updating credentials for " << email;
- xmpp_settings_ = MakeXmppClientSettings(notifier_options_, email, token);
- if (login_.get()) {
- login_->UpdateXmppSettings(xmpp_settings_);
- } else {
- DVLOG(1) << "Push: Starting XMPP connection";
- base_task_.reset();
- login_.reset(new notifier::Login(this,
- xmpp_settings_,
- notifier_options_.request_context_getter,
- GetServerList(notifier_options_),
- notifier_options_.try_ssltcp_first,
- notifier_options_.auth_mechanism));
- login_->StartConnection();
- }
-}
-
-void XmppPushClient::SendNotification(const Notification& notification) {
- DCHECK(non_thread_safe_.CalledOnValidThread());
- if (!base_task_.get()) {
- // TODO(akalin): Figure out whether we really need to do this.
- DVLOG(1) << "Push: Cannot send notification "
- << notification.ToString() << "; sending later";
- pending_notifications_to_send_.push_back(notification);
- return;
- }
- // Owned by |base_task_|.
- PushNotificationsSendUpdateTask* task =
- new PushNotificationsSendUpdateTask(base_task_, notification);
- task->Start();
-}
-
-} // namespace notifier
« no previous file with comments | « jingle/notifier/listener/xmpp_push_client.h ('k') | jingle/notifier/listener/xmpp_push_client_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698