00001
00002
00003
00004
00005
00006
00007 #pragma once
00008
00009 #include <Swiften/Base/boost_bsignals.h>
00010 #include <boost/shared_ptr.hpp>
00011
00012 #include <string>
00013 #include <Swiften/Base/API.h>
00014 #include <Swiften/Elements/IQ.h>
00015
00016 namespace Swift {
00017 class SWIFTEN_API IQChannel {
00018 public:
00019 virtual ~IQChannel();
00020
00021 virtual void sendIQ(boost::shared_ptr<IQ>) = 0;
00022 virtual std::string getNewIQID() = 0;
00023
00024 virtual bool isAvailable() const = 0;
00025
00026 boost::signal<void (boost::shared_ptr<IQ>)> onIQReceived;
00027 };
00028 }