OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "remoting/client/plugin/delegating_signal_strategy.h" | 5 #include "remoting/client/plugin/delegating_signal_strategy.h" |
6 | 6 |
7 #include "base/rand_util.h" | 7 #include "base/rand_util.h" |
8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
9 #include "third_party/webrtc/libjingle/xmllite/xmlelement.h" | 9 #include "third_party/webrtc/libjingle/xmllite/xmlelement.h" |
10 | 10 |
11 namespace remoting { | 11 namespace remoting { |
12 | 12 |
13 DelegatingSignalStrategy::DelegatingSignalStrategy( | 13 DelegatingSignalStrategy::DelegatingSignalStrategy( |
14 std::string local_jid, | 14 std::string local_jid, |
15 const SendIqCallback& send_iq_callback) | 15 const SendIqCallback& send_iq_callback) |
16 : local_jid_(local_jid), | 16 : local_jid_(local_jid), |
17 send_iq_callback_(send_iq_callback) { | 17 send_iq_callback_(send_iq_callback) { |
18 } | 18 } |
19 | 19 |
20 DelegatingSignalStrategy::~DelegatingSignalStrategy() { | 20 DelegatingSignalStrategy::~DelegatingSignalStrategy() { |
21 } | 21 } |
22 | 22 |
23 void DelegatingSignalStrategy::OnIncomingMessage(const std::string& message) { | 23 void DelegatingSignalStrategy::OnIncomingMessage(const std::string& message) { |
24 scoped_ptr<buzz::XmlElement> stanza(buzz::XmlElement::ForStr(message)); | 24 std::unique_ptr<buzz::XmlElement> stanza(buzz::XmlElement::ForStr(message)); |
25 if (!stanza.get()) { | 25 if (!stanza.get()) { |
26 LOG(WARNING) << "Malformed XMPP stanza received: " << message; | 26 LOG(WARNING) << "Malformed XMPP stanza received: " << message; |
27 return; | 27 return; |
28 } | 28 } |
29 | 29 |
30 base::ObserverListBase<Listener>::Iterator it(&listeners_); | 30 base::ObserverListBase<Listener>::Iterator it(&listeners_); |
31 Listener* listener; | 31 Listener* listener; |
32 while ((listener = it.GetNext()) != nullptr) { | 32 while ((listener = it.GetNext()) != nullptr) { |
33 if (listener->OnSignalStrategyIncomingStanza(stanza.get())) | 33 if (listener->OnSignalStrategyIncomingStanza(stanza.get())) |
34 break; | 34 break; |
(...skipping 19 matching lines...) Expand all Loading... |
54 } | 54 } |
55 | 55 |
56 void DelegatingSignalStrategy::AddListener(Listener* listener) { | 56 void DelegatingSignalStrategy::AddListener(Listener* listener) { |
57 listeners_.AddObserver(listener); | 57 listeners_.AddObserver(listener); |
58 } | 58 } |
59 | 59 |
60 void DelegatingSignalStrategy::RemoveListener(Listener* listener) { | 60 void DelegatingSignalStrategy::RemoveListener(Listener* listener) { |
61 listeners_.RemoveObserver(listener); | 61 listeners_.RemoveObserver(listener); |
62 } | 62 } |
63 | 63 |
64 bool DelegatingSignalStrategy::SendStanza(scoped_ptr<buzz::XmlElement> stanza) { | 64 bool DelegatingSignalStrategy::SendStanza( |
| 65 std::unique_ptr<buzz::XmlElement> stanza) { |
65 send_iq_callback_.Run(stanza->Str()); | 66 send_iq_callback_.Run(stanza->Str()); |
66 return true; | 67 return true; |
67 } | 68 } |
68 | 69 |
69 std::string DelegatingSignalStrategy::GetNextId() { | 70 std::string DelegatingSignalStrategy::GetNextId() { |
70 return base::Uint64ToString(base::RandUint64()); | 71 return base::Uint64ToString(base::RandUint64()); |
71 } | 72 } |
72 | 73 |
73 } // namespace remoting | 74 } // namespace remoting |
OLD | NEW |