| Index: jingle/notifier/listener/talk_mediator_impl.cc
|
| diff --git a/jingle/notifier/listener/talk_mediator_impl.cc b/jingle/notifier/listener/talk_mediator_impl.cc
|
| deleted file mode 100644
|
| index 776026181e1a4070abf459189a94353f80fa1f2c..0000000000000000000000000000000000000000
|
| --- a/jingle/notifier/listener/talk_mediator_impl.cc
|
| +++ /dev/null
|
| @@ -1,134 +0,0 @@
|
| -// Copyright (c) 2011 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/talk_mediator_impl.h"
|
| -
|
| -#include "base/logging.h"
|
| -#include "base/message_loop.h"
|
| -#include "jingle/notifier/base/notifier_options_util.h"
|
| -
|
| -namespace notifier {
|
| -
|
| -TalkMediatorImpl::TalkMediatorImpl(
|
| - MediatorThread* mediator_thread,
|
| - const NotifierOptions& notifier_options)
|
| - : delegate_(NULL),
|
| - mediator_thread_(mediator_thread),
|
| - notifier_options_(notifier_options),
|
| - parent_message_loop_(MessageLoop::current()) {
|
| - mediator_thread_->Start();
|
| - state_.started = 1;
|
| -}
|
| -
|
| -TalkMediatorImpl::~TalkMediatorImpl() {
|
| - DCHECK_EQ(MessageLoop::current(), parent_message_loop_);
|
| - DCHECK(!state_.started);
|
| -}
|
| -
|
| -bool TalkMediatorImpl::Login() {
|
| - DCHECK_EQ(MessageLoop::current(), parent_message_loop_);
|
| - // Connect to the mediator thread and start processing messages.
|
| - mediator_thread_->AddObserver(this);
|
| - if (state_.initialized && !state_.logging_in && !state_.logged_in) {
|
| - state_.logging_in = true;
|
| - mediator_thread_->Login(xmpp_settings_);
|
| - return true;
|
| - }
|
| - return false;
|
| -}
|
| -
|
| -bool TalkMediatorImpl::Logout() {
|
| - DCHECK_EQ(MessageLoop::current(), parent_message_loop_);
|
| - if (state_.started) {
|
| - state_.started = 0;
|
| - state_.logging_in = 0;
|
| - state_.logged_in = 0;
|
| - // We do not want to be called back during logout since we may be
|
| - // closing.
|
| - mediator_thread_->RemoveObserver(this);
|
| - mediator_thread_->Logout();
|
| - return true;
|
| - }
|
| - return false;
|
| -}
|
| -
|
| -void TalkMediatorImpl::SendNotification(const Notification& data) {
|
| - DCHECK_EQ(MessageLoop::current(), parent_message_loop_);
|
| - mediator_thread_->SendNotification(data);
|
| -}
|
| -
|
| -void TalkMediatorImpl::SetDelegate(TalkMediator::Delegate* delegate) {
|
| - DCHECK_EQ(MessageLoop::current(), parent_message_loop_);
|
| - delegate_ = delegate;
|
| -}
|
| -
|
| -void TalkMediatorImpl::SetAuthToken(const std::string& email,
|
| - const std::string& token,
|
| - const std::string& token_service) {
|
| - DCHECK_EQ(MessageLoop::current(), parent_message_loop_);
|
| - xmpp_settings_ =
|
| - MakeXmppClientSettings(notifier_options_, email, token, token_service);
|
| -
|
| - // The auth token got updated and we are already in the logging_in or
|
| - // logged_in state. Update the token.
|
| - if (state_.logging_in || state_.logged_in) {
|
| - mediator_thread_->UpdateXmppSettings(xmpp_settings_);
|
| - }
|
| -
|
| - state_.initialized = 1;
|
| -}
|
| -
|
| -void TalkMediatorImpl::AddSubscription(const Subscription& subscription) {
|
| - DCHECK_EQ(MessageLoop::current(), parent_message_loop_);
|
| - subscriptions_.push_back(subscription);
|
| - if (state_.logged_in) {
|
| - VLOG(1) << "Resubscribing for updates, a new service got added";
|
| - mediator_thread_->SubscribeForUpdates(subscriptions_);
|
| - }
|
| -}
|
| -
|
| -
|
| -void TalkMediatorImpl::OnConnectionStateChange(bool logged_in) {
|
| - DCHECK_EQ(MessageLoop::current(), parent_message_loop_);
|
| - // If we just lost connection, then the MediatorThread implementation will
|
| - // try to log in again. We need to set state_.logging_in to true in that case.
|
| - state_.logging_in = !logged_in;
|
| - state_.logged_in = logged_in;
|
| - if (logged_in) {
|
| - VLOG(1) << "P2P: Logged in.";
|
| - // ListenForUpdates enables the ListenTask. This is done before
|
| - // SubscribeForUpdates.
|
| - mediator_thread_->ListenForUpdates();
|
| - // Now subscribe for updates to all the services we are interested in
|
| - mediator_thread_->SubscribeForUpdates(subscriptions_);
|
| - } else {
|
| - VLOG(1) << "P2P: Logged off.";
|
| - OnSubscriptionStateChange(false);
|
| - }
|
| -}
|
| -
|
| -void TalkMediatorImpl::OnSubscriptionStateChange(bool subscribed) {
|
| - DCHECK_EQ(MessageLoop::current(), parent_message_loop_);
|
| - VLOG(1) << "P2P: " << (subscribed ? "subscribed" : "unsubscribed");
|
| - if (delegate_)
|
| - delegate_->OnNotificationStateChange(subscribed);
|
| -}
|
| -
|
| -void TalkMediatorImpl::OnIncomingNotification(
|
| - const Notification& notification) {
|
| - DCHECK_EQ(MessageLoop::current(), parent_message_loop_);
|
| - VLOG(1) << "P2P: Updates are available on the server.";
|
| - if (delegate_)
|
| - delegate_->OnIncomingNotification(notification);
|
| -}
|
| -
|
| -void TalkMediatorImpl::OnOutgoingNotification() {
|
| - DCHECK_EQ(MessageLoop::current(), parent_message_loop_);
|
| - VLOG(1) << "P2P: Peers were notified that updates are available on the "
|
| - "server.";
|
| - if (delegate_)
|
| - delegate_->OnOutgoingNotification();
|
| -}
|
| -
|
| -} // namespace notifier
|
|
|