diff options
author | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-23 12:06:19 +0000 |
---|---|---|
committer | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-23 12:06:19 +0000 |
commit | cff2764267289815ebab479e962d066706ccdcac (patch) | |
tree | 5b8149ed2cde6f99f1368fa086972f8bc5db23a8 /remoting/host | |
parent | 4513eb18159fb35272cd619785a3b8295b4a6467 (diff) | |
download | chromium_src-cff2764267289815ebab479e962d066706ccdcac.zip chromium_src-cff2764267289815ebab479e962d066706ccdcac.tar.gz chromium_src-cff2764267289815ebab479e962d066706ccdcac.tar.bz2 |
Use scoped_ptr to pass ownership in SignalStrategy.
Updated SignalStrategy and some other code where we pass ownership of
XML objects.
Review URL: http://codereview.chromium.org/9453001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123222 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/host')
-rw-r--r-- | remoting/host/heartbeat_sender.cc | 22 | ||||
-rw-r--r-- | remoting/host/heartbeat_sender.h | 5 | ||||
-rw-r--r-- | remoting/host/heartbeat_sender_unittest.cc | 10 | ||||
-rw-r--r-- | remoting/host/log_to_server.cc | 6 | ||||
-rw-r--r-- | remoting/host/log_to_server_unittest.cc | 6 | ||||
-rw-r--r-- | remoting/host/register_support_host_request.cc | 24 | ||||
-rw-r--r-- | remoting/host/register_support_host_request.h | 6 | ||||
-rw-r--r-- | remoting/host/register_support_host_request_unittest.cc | 2 |
8 files changed, 40 insertions, 41 deletions
diff --git a/remoting/host/heartbeat_sender.cc b/remoting/host/heartbeat_sender.cc index af8e0fa..e8dacd2 100644 --- a/remoting/host/heartbeat_sender.cc +++ b/remoting/host/heartbeat_sender.cc @@ -99,10 +99,10 @@ void HeartbeatSender::ResendStanza() { void HeartbeatSender::DoSendStanza() { VLOG(1) << "Sending heartbeat stanza to " << kChromotingBotJid; - request_.reset(iq_sender_->SendIq( + request_ = iq_sender_->SendIq( buzz::STR_SET, kChromotingBotJid, CreateHeartbeatMessage(), base::Bind(&HeartbeatSender::ProcessResponse, - base::Unretained(this)))); + base::Unretained(this))); ++sequence_id_; } @@ -207,26 +207,26 @@ void HeartbeatSender::SetSequenceId(int sequence_id) { sequence_id_was_set_ = true; } -XmlElement* HeartbeatSender::CreateHeartbeatMessage() { - XmlElement* query = new XmlElement( - QName(kChromotingXmlNamespace, kHeartbeatQueryTag)); +scoped_ptr<XmlElement> HeartbeatSender::CreateHeartbeatMessage() { + scoped_ptr<XmlElement> query(new XmlElement( + QName(kChromotingXmlNamespace, kHeartbeatQueryTag))); query->AddAttr(QName(kChromotingXmlNamespace, kHostIdAttr), host_id_); query->AddAttr(QName(kChromotingXmlNamespace, kSequenceIdAttr), base::IntToString(sequence_id_)); - query->AddElement(CreateSignature()); - return query; + query->AddElement(CreateSignature().release()); + return query.Pass(); } -XmlElement* HeartbeatSender::CreateSignature() { - XmlElement* signature_tag = new XmlElement( - QName(kChromotingXmlNamespace, kHeartbeatSignatureTag)); +scoped_ptr<XmlElement> HeartbeatSender::CreateSignature() { + scoped_ptr<XmlElement> signature_tag(new XmlElement( + QName(kChromotingXmlNamespace, kHeartbeatSignatureTag))); std::string message = signal_strategy_->GetLocalJid() + ' ' + base::IntToString(sequence_id_); std::string signature(key_pair_->GetSignature(message)); signature_tag->AddText(signature); - return signature_tag; + return signature_tag.Pass(); } } // namespace remoting diff --git a/remoting/host/heartbeat_sender.h b/remoting/host/heartbeat_sender.h index 652183e..daa6b3a 100644 --- a/remoting/host/heartbeat_sender.h +++ b/remoting/host/heartbeat_sender.h @@ -108,9 +108,8 @@ class HeartbeatSender : public SignalStrategy::Listener { void SetSequenceId(int sequence_id); // Helper methods used by DoSendStanza() to generate heartbeat stanzas. - // Caller owns the result. - buzz::XmlElement* CreateHeartbeatMessage(); - buzz::XmlElement* CreateSignature(); + scoped_ptr<buzz::XmlElement> CreateHeartbeatMessage(); + scoped_ptr<buzz::XmlElement> CreateSignature(); std::string host_id_; SignalStrategy* signal_strategy_; diff --git a/remoting/host/heartbeat_sender_unittest.cc b/remoting/host/heartbeat_sender_unittest.cc index 111f19d..08f3267 100644 --- a/remoting/host/heartbeat_sender_unittest.cc +++ b/remoting/host/heartbeat_sender_unittest.cc @@ -87,7 +87,7 @@ TEST_F(HeartbeatSenderTest, DoSendStanza) { .WillRepeatedly(Return(kTestJid)); EXPECT_CALL(signal_strategy_, GetNextId()) .WillOnce(Return(kStanzaId)); - EXPECT_CALL(signal_strategy_, SendStanza(NotNull())) + EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull())) .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true))); heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::CONNECTED); @@ -109,7 +109,7 @@ TEST_F(HeartbeatSenderTest, DoSendStanzaTwice) { .WillRepeatedly(Return(kTestJid)); EXPECT_CALL(signal_strategy_, GetNextId()) .WillOnce(Return(kStanzaId)); - EXPECT_CALL(signal_strategy_, SendStanza(NotNull())) + EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull())) .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true))); heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::CONNECTED); @@ -126,7 +126,7 @@ TEST_F(HeartbeatSenderTest, DoSendStanzaTwice) { .WillRepeatedly(Return(kTestJid)); EXPECT_CALL(signal_strategy_, GetNextId()) .WillOnce(Return(kStanzaId + 1)); - EXPECT_CALL(signal_strategy_, SendStanza(NotNull())) + EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull())) .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true))); heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::CONNECTED); @@ -148,7 +148,7 @@ TEST_F(HeartbeatSenderTest, DoSendStanzaWithExpectedSequenceId) { .WillRepeatedly(Return(kTestJid)); EXPECT_CALL(signal_strategy_, GetNextId()) .WillOnce(Return(kStanzaId)); - EXPECT_CALL(signal_strategy_, SendStanza(NotNull())) + EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull())) .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true))); heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::CONNECTED); @@ -163,7 +163,7 @@ TEST_F(HeartbeatSenderTest, DoSendStanzaWithExpectedSequenceId) { .WillRepeatedly(Return(kTestJid)); EXPECT_CALL(signal_strategy_, GetNextId()) .WillOnce(Return(kStanzaId + 1)); - EXPECT_CALL(signal_strategy_, SendStanza(NotNull())) + EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull())) .WillOnce(DoAll(SaveArg<0>(&sent_iq2), Return(true))); scoped_ptr<XmlElement> response(new XmlElement(buzz::QN_IQ)); diff --git a/remoting/host/log_to_server.cc b/remoting/host/log_to_server.cc index f86c91e..f75764a 100644 --- a/remoting/host/log_to_server.cc +++ b/remoting/host/log_to_server.cc @@ -101,9 +101,9 @@ void LogToServer::SendPendingEntries() { pending_entries_.pop_front(); } // Send the stanza to the server. - scoped_ptr<IqRequest> req(iq_sender_->SendIq( - buzz::STR_SET, kChromotingBotJid, stanza.release(), - IqSender::ReplyCallback())); + scoped_ptr<IqRequest> req = iq_sender_->SendIq( + buzz::STR_SET, kChromotingBotJid, stanza.Pass(), + IqSender::ReplyCallback()); // We ignore any response, so let the IqRequest be destroyed. return; } diff --git a/remoting/host/log_to_server_unittest.cc b/remoting/host/log_to_server_unittest.cc index ad4874b..5a26801 100644 --- a/remoting/host/log_to_server_unittest.cc +++ b/remoting/host/log_to_server_unittest.cc @@ -51,7 +51,7 @@ TEST_F(LogToServerTest, SendNow) { .WillRepeatedly(Return("host@domain.com/1234")); EXPECT_CALL(signal_strategy_, AddListener(_)); EXPECT_CALL(signal_strategy_, GetNextId()); - EXPECT_CALL(signal_strategy_, SendStanza(_)) + EXPECT_CALL(signal_strategy_, SendStanzaPtr(_)) .WillOnce(DoAll(DeleteArg<0>(), Return(true))); EXPECT_CALL(signal_strategy_, RemoveListener(_)) .WillOnce(QuitMainMessageLoop(&message_loop_)) @@ -71,7 +71,7 @@ TEST_F(LogToServerTest, SendLater) { .WillRepeatedly(Return("host@domain.com/1234")); EXPECT_CALL(signal_strategy_, AddListener(_)); EXPECT_CALL(signal_strategy_, GetNextId()); - EXPECT_CALL(signal_strategy_, SendStanza(_)) + EXPECT_CALL(signal_strategy_, SendStanzaPtr(_)) .WillOnce(DoAll(DeleteArg<0>(), Return(true))); EXPECT_CALL(signal_strategy_, RemoveListener(_)) .WillOnce(QuitMainMessageLoop(&message_loop_)) @@ -91,7 +91,7 @@ TEST_F(LogToServerTest, SendTwoEntriesLater) { .WillRepeatedly(Return("host@domain.com/1234")); EXPECT_CALL(signal_strategy_, AddListener(_)); EXPECT_CALL(signal_strategy_, GetNextId()); - EXPECT_CALL(signal_strategy_, SendStanza(_)) + EXPECT_CALL(signal_strategy_, SendStanzaPtr(_)) .WillOnce(DoAll(DeleteArg<0>(), Return(true))); EXPECT_CALL(signal_strategy_, RemoveListener(_)) .WillOnce(QuitMainMessageLoop(&message_loop_)) diff --git a/remoting/host/register_support_host_request.cc b/remoting/host/register_support_host_request.cc index 010ab6e..cf84d2c 100644 --- a/remoting/host/register_support_host_request.cc +++ b/remoting/host/register_support_host_request.cc @@ -58,11 +58,11 @@ void RegisterSupportHostRequest::OnSignalStrategyStateChange( if (state == SignalStrategy::CONNECTED) { DCHECK(!callback_.is_null()); - request_.reset(iq_sender_->SendIq( + request_ = iq_sender_->SendIq( buzz::STR_SET, kChromotingBotJid, - CreateRegistrationRequest(signal_strategy_->GetLocalJid()), + CreateRegistrationRequest(signal_strategy_->GetLocalJid()).Pass(), base::Bind(&RegisterSupportHostRequest::ProcessResponse, - base::Unretained(this)))); + base::Unretained(this))); } else if (state == SignalStrategy::DISCONNECTED) { // We will reach here if signaling fails to connect. CallCallback(false, std::string(), base::TimeDelta()); @@ -74,22 +74,22 @@ bool RegisterSupportHostRequest::OnSignalStrategyIncomingStanza( return false; } -XmlElement* RegisterSupportHostRequest::CreateRegistrationRequest( +scoped_ptr<XmlElement> RegisterSupportHostRequest::CreateRegistrationRequest( const std::string& jid) { - XmlElement* query = new XmlElement( - QName(kChromotingXmlNamespace, kRegisterQueryTag)); + scoped_ptr<XmlElement> query(new XmlElement( + QName(kChromotingXmlNamespace, kRegisterQueryTag))); XmlElement* public_key = new XmlElement( QName(kChromotingXmlNamespace, kPublicKeyTag)); public_key->AddText(key_pair_->GetPublicKey()); query->AddElement(public_key); - query->AddElement(CreateSignature(jid)); - return query; + query->AddElement(CreateSignature(jid).release()); + return query.Pass(); } -XmlElement* RegisterSupportHostRequest::CreateSignature( +scoped_ptr<XmlElement> RegisterSupportHostRequest::CreateSignature( const std::string& jid) { - XmlElement* signature_tag = new XmlElement( - QName(kChromotingXmlNamespace, kSignatureTag)); + scoped_ptr<XmlElement> signature_tag(new XmlElement( + QName(kChromotingXmlNamespace, kSignatureTag))); int64 time = static_cast<int64>(base::Time::Now().ToDoubleT()); std::string time_str(base::Int64ToString(time)); @@ -100,7 +100,7 @@ XmlElement* RegisterSupportHostRequest::CreateSignature( std::string signature(key_pair_->GetSignature(message)); signature_tag->AddText(signature); - return signature_tag; + return signature_tag.Pass(); } bool RegisterSupportHostRequest::ParseResponse(const XmlElement* response, diff --git a/remoting/host/register_support_host_request.h b/remoting/host/register_support_host_request.h index 6678cca..b05e880 100644 --- a/remoting/host/register_support_host_request.h +++ b/remoting/host/register_support_host_request.h @@ -63,9 +63,9 @@ class RegisterSupportHostRequest : public SignalStrategy::Listener { private: void DoSend(); - // Caller owns the result. - buzz::XmlElement* CreateRegistrationRequest(const std::string& jid); - buzz::XmlElement* CreateSignature(const std::string& jid); + scoped_ptr<buzz::XmlElement> CreateRegistrationRequest( + const std::string& jid); + scoped_ptr<buzz::XmlElement> CreateSignature(const std::string& jid); void ProcessResponse(const buzz::XmlElement* response); bool ParseResponse(const buzz::XmlElement* response, diff --git a/remoting/host/register_support_host_request_unittest.cc b/remoting/host/register_support_host_request_unittest.cc index 4dea7ef..5d1a53a 100644 --- a/remoting/host/register_support_host_request_unittest.cc +++ b/remoting/host/register_support_host_request_unittest.cc @@ -87,7 +87,7 @@ TEST_F(RegisterSupportHostRequestTest, Send) { XmlElement* sent_iq = NULL; EXPECT_CALL(signal_strategy_, GetNextId()) .WillOnce(Return(kStanzaId)); - EXPECT_CALL(signal_strategy_, SendStanza(NotNull())) + EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull())) .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true))); request->OnSignalStrategyStateChange(SignalStrategy::CONNECTED); |