Update parsing of dumpsys batterystats
[chromium-blink-merge.git] / remoting / client / plugin / delegating_signal_strategy.cc
blob7129341a598ac1c670b34b33c4ecf24b02498175
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
3 // found in the LICENSE file.
5 #include "remoting/client/plugin/delegating_signal_strategy.h"
7 #include "base/strings/string_number_conversions.h"
8 #include "third_party/libjingle/source/talk/xmllite/xmlelement.h"
10 namespace remoting {
12 DelegatingSignalStrategy::DelegatingSignalStrategy(
13 std::string local_jid,
14 const SendIqCallback& send_iq_callback)
15 : local_jid_(local_jid),
16 send_iq_callback_(send_iq_callback),
17 last_id_(0) {
20 DelegatingSignalStrategy::~DelegatingSignalStrategy() {
23 void DelegatingSignalStrategy::OnIncomingMessage(const std::string& message) {
24 scoped_ptr<buzz::XmlElement> stanza(buzz::XmlElement::ForStr(message));
25 if (!stanza.get()) {
26 LOG(WARNING) << "Malformed XMPP stanza received: " << message;
27 return;
30 ObserverListBase<Listener>::Iterator it(listeners_);
31 Listener* listener;
32 while ((listener = it.GetNext()) != NULL) {
33 if (listener->OnSignalStrategyIncomingStanza(stanza.get()))
34 break;
38 void DelegatingSignalStrategy::Connect() {
41 void DelegatingSignalStrategy::Disconnect() {
44 SignalStrategy::State DelegatingSignalStrategy::GetState() const {
45 return CONNECTED;
48 SignalStrategy::Error DelegatingSignalStrategy::GetError() const {
49 return OK;
52 std::string DelegatingSignalStrategy::GetLocalJid() const {
53 return local_jid_;
56 void DelegatingSignalStrategy::AddListener(Listener* listener) {
57 listeners_.AddObserver(listener);
60 void DelegatingSignalStrategy::RemoveListener(Listener* listener) {
61 listeners_.RemoveObserver(listener);
64 bool DelegatingSignalStrategy::SendStanza(scoped_ptr<buzz::XmlElement> stanza) {
65 send_iq_callback_.Run(stanza->Str());
66 return true;
69 std::string DelegatingSignalStrategy::GetNextId() {
70 ++last_id_;
71 return base::IntToString(last_id_);
74 } // namespace remoting