diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-23 01:13:56 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-23 01:13:56 +0000 |
commit | 8516471942ded5ca17efd0681f1ae12ac86f3617 (patch) | |
tree | 2c2cfb3d1891c638dff5b62d3c68e916814237a7 /chrome/common/net | |
parent | 11fb5e5771fb2d148e6c8d7245f28642a749a722 (diff) | |
download | chromium_src-8516471942ded5ca17efd0681f1ae12ac86f3617.zip chromium_src-8516471942ded5ca17efd0681f1ae12ac86f3617.tar.gz chromium_src-8516471942ded5ca17efd0681f1ae12ac86f3617.tar.bz2 |
Implemented initial version of server-issued notification client.
Added NOTIFICATION_SERVER notification method (use
--sync-notification-method=server to turn on).
BUG=34647
TEST=manually
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=50479
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=50550
Review URL: http://codereview.chromium.org/2827014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50560 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/net')
-rw-r--r-- | chrome/common/net/notifier/listener/mediator_thread_impl.cc | 36 | ||||
-rw-r--r-- | chrome/common/net/notifier/listener/mediator_thread_impl.h | 16 |
2 files changed, 29 insertions, 23 deletions
diff --git a/chrome/common/net/notifier/listener/mediator_thread_impl.cc b/chrome/common/net/notifier/listener/mediator_thread_impl.cc index d15e2c8..76c270e7 100644 --- a/chrome/common/net/notifier/listener/mediator_thread_impl.cc +++ b/chrome/common/net/notifier/listener/mediator_thread_impl.cc @@ -144,6 +144,24 @@ void MediatorThreadImpl::SendNotification( data)); } +MessageLoop* MediatorThreadImpl::worker_message_loop() { + MessageLoop* current_message_loop = MessageLoop::current(); + DCHECK(current_message_loop); + MessageLoop* worker_message_loop = worker_thread_.message_loop(); + DCHECK(worker_message_loop); + DCHECK(current_message_loop == parent_message_loop_ || + current_message_loop == worker_message_loop); + return worker_message_loop; +} + +buzz::XmppClient* MediatorThreadImpl::xmpp_client() { + DCHECK_EQ(MessageLoop::current(), worker_message_loop()); + DCHECK(login_.get()); + buzz::XmppClient* xmpp_client = login_->xmpp_client(); + DCHECK(xmpp_client); + return xmpp_client; +} + void MediatorThreadImpl::DoLogin( const buzz::XmppClientSettings& settings) { DCHECK_EQ(MessageLoop::current(), worker_message_loop()); @@ -359,22 +377,4 @@ void MediatorThreadImpl::OnSubscriptionStateChangeOnParentThread( } } -MessageLoop* MediatorThreadImpl::worker_message_loop() { - MessageLoop* current_message_loop = MessageLoop::current(); - DCHECK(current_message_loop); - MessageLoop* worker_message_loop = worker_thread_.message_loop(); - DCHECK(worker_message_loop); - DCHECK(current_message_loop == parent_message_loop_ || - current_message_loop == worker_message_loop); - return worker_message_loop; -} - -buzz::XmppClient* MediatorThreadImpl::xmpp_client() { - DCHECK_EQ(MessageLoop::current(), worker_message_loop()); - DCHECK(login_.get()); - buzz::XmppClient* xmpp_client = login_->xmpp_client(); - DCHECK(xmpp_client); - return xmpp_client; -} - } // namespace notifier diff --git a/chrome/common/net/notifier/listener/mediator_thread_impl.h b/chrome/common/net/notifier/listener/mediator_thread_impl.h index 30683e8..fb14d5b 100644 --- a/chrome/common/net/notifier/listener/mediator_thread_impl.h +++ b/chrome/common/net/notifier/listener/mediator_thread_impl.h @@ -83,6 +83,17 @@ class MediatorThreadImpl const std::vector<std::string>& subscribed_services_list); virtual void SendNotification(const OutgoingNotificationData& data); + protected: + // Should only be called after Start(). + MessageLoop* worker_message_loop(); + + // Should only be called after OnConnectionStateChange() is called + // on the delegate with true. + buzz::XmppClient* xmpp_client(); + + Delegate* delegate_; + MessageLoop* parent_message_loop_; + private: void StartLibjingleThread(); void PumpLibjingleLoop(); @@ -117,11 +128,6 @@ class MediatorThreadImpl void OnSubscriptionStateChangeOnParentThread( bool success); - MessageLoop* worker_message_loop(); - buzz::XmppClient* xmpp_client(); - - Delegate* delegate_; - MessageLoop* parent_message_loop_; chrome_common_net::NetworkChangeNotifierThread* network_change_notifier_thread_; base::Thread worker_thread_; |