summaryrefslogtreecommitdiffstats
path: root/remoting/host
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-23 12:06:19 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-23 12:06:19 +0000
commitcff2764267289815ebab479e962d066706ccdcac (patch)
tree5b8149ed2cde6f99f1368fa086972f8bc5db23a8 /remoting/host
parent4513eb18159fb35272cd619785a3b8295b4a6467 (diff)
downloadchromium_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.cc22
-rw-r--r--remoting/host/heartbeat_sender.h5
-rw-r--r--remoting/host/heartbeat_sender_unittest.cc10
-rw-r--r--remoting/host/log_to_server.cc6
-rw-r--r--remoting/host/log_to_server_unittest.cc6
-rw-r--r--remoting/host/register_support_host_request.cc24
-rw-r--r--remoting/host/register_support_host_request.h6
-rw-r--r--remoting/host/register_support_host_request_unittest.cc2
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);