• Main Page
  • Classes
  • Files
  • File List

Swiften/Client/StanzaChannel.h

00001 /*
00002  * Copyright (c) 2010 Remko Tronçon
00003  * Licensed under the GNU General Public License v3.
00004  * See Documentation/Licenses/GPLv3.txt for more information.
00005  */
00006 
00007 #pragma once
00008 
00009 #include <Swiften/Base/boost_bsignals.h>
00010 #include <boost/shared_ptr.hpp>
00011 
00012 #include <Swiften/Queries/IQChannel.h>
00013 #include <Swiften/Elements/Message.h>
00014 #include <Swiften/Elements/Presence.h>
00015 #include <Swiften/TLS/Certificate.h>
00016 
00017 namespace Swift {
00018   class StanzaChannel : public IQChannel {
00019     public:
00020       virtual void sendMessage(boost::shared_ptr<Message>) = 0;
00021       virtual void sendPresence(boost::shared_ptr<Presence>) = 0;
00022       virtual bool isAvailable() const = 0;
00023       virtual bool getStreamManagementEnabled() const = 0;
00024       virtual std::vector<Certificate::ref> getPeerCertificateChain() const = 0;
00025 
00026       boost::signal<void (bool /* isAvailable */)> onAvailableChanged;
00027       boost::signal<void (boost::shared_ptr<Message>)> onMessageReceived;
00028       boost::signal<void (boost::shared_ptr<Presence>) > onPresenceReceived;
00029       boost::signal<void (boost::shared_ptr<Stanza>)> onStanzaAcked;
00030   };
00031 }

Generated on Fri Oct 12 2012 21:00:19 for Swiften by  doxygen 1.7.1