summaryrefslogtreecommitdiffstats
path: root/chrome/common/net
diff options
context:
space:
mode:
authorakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-23 01:13:56 +0000
committerakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-23 01:13:56 +0000
commit8516471942ded5ca17efd0681f1ae12ac86f3617 (patch)
tree2c2cfb3d1891c638dff5b62d3c68e916814237a7 /chrome/common/net
parent11fb5e5771fb2d148e6c8d7245f28642a749a722 (diff)
downloadchromium_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.cc36
-rw-r--r--chrome/common/net/notifier/listener/mediator_thread_impl.h16
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_;