| /* |
| * Copyright 2004 The WebRTC Project Authors. All rights reserved. |
| * |
| * Use of this source code is governed by a BSD-style license |
| * that can be found in the LICENSE file in the root of the source |
| * tree. An additional intellectual property rights grant can be found |
| * in the file PATENTS. All contributing project authors may |
| * be found in the AUTHORS file in the root of the source tree. |
| */ |
| |
| // Fires a disco items query, such as the following example: |
| // |
| // <iq type='get' |
| // from='foo@gmail.com/asdf' |
| // to='bar@google.com' |
| // id='1234'> |
| // <query xmlns=' http://jabber.org/protocol/disco#items' |
| // node='blah '/> |
| // </iq> |
| // |
| // Sample response: |
| // |
| // <iq type='result' |
| // from=' hendriks@google.com' |
| // to='rsturgell@google.com/asdf' |
| // id='1234'> |
| // <query xmlns=' http://jabber.org/protocol/disco#items ' |
| // node='blah'> |
| // <item something='somethingelse'/> |
| // </query> |
| // </iq> |
| |
| |
| #ifndef WEBRTC_LIBJINGLE_XMPP_DISCOITEMSQUERYTASK_H_ |
| #define WEBRTC_LIBJINGLE_XMPP_DISCOITEMSQUERYTASK_H_ |
| |
| #include <string> |
| #include <vector> |
| |
| #include "webrtc/libjingle/xmpp/iqtask.h" |
| |
| namespace buzz { |
| |
| struct DiscoItem { |
| std::string jid; |
| std::string node; |
| std::string name; |
| }; |
| |
| class DiscoItemsQueryTask : public IqTask { |
| public: |
| DiscoItemsQueryTask(XmppTaskParentInterface* parent, |
| const Jid& to, const std::string& node); |
| |
| sigslot::signal1<std::vector<DiscoItem> > SignalResult; |
| |
| private: |
| static XmlElement* MakeRequest(const std::string& node); |
| virtual void HandleResult(const XmlElement* result); |
| static bool ParseItem(const XmlElement* element, DiscoItem* item); |
| }; |
| |
| } // namespace buzz |
| |
| #endif // WEBRTC_LIBJINGLE_XMPP_DISCOITEMSQUERYTASK_H_ |