gloox 1.0
bytestreamhandler.h
00001 /*
00002   Copyright (c) 2006-2009 by Jakob Schroeter <js@camaya.net>
00003   This file is part of the gloox library. http://camaya.net/gloox
00004 
00005   This software is distributed under a license. The full license
00006   agreement can be found in the file LICENSE in this distribution.
00007   This software may not be copied, modified, sold or distributed
00008   other than expressed in the named license agreement.
00009 
00010   This software is distributed without any warranty.
00011 */
00012 
00013 
00014 #ifndef BYTESTREAMHANDLER_H__
00015 #define BYTESTREAMHANDLER_H__
00016 
00017 #include "macros.h"
00018 #include "jid.h"
00019 #include "bytestream.h"
00020 #include "iq.h"
00021 
00022 namespace gloox
00023 {
00024 
00036   class GLOOX_API BytestreamHandler
00037   {
00038     public:
00042       virtual ~BytestreamHandler() {}
00043 
00054       virtual void handleIncomingBytestreamRequest( const std::string& sid, const JID& from ) = 0;
00055 
00067       virtual void handleIncomingBytestream( Bytestream* bs ) = 0;
00068 
00076       virtual void handleOutgoingBytestream( Bytestream* bs ) = 0;
00077 
00084       virtual void handleBytestreamError( const IQ& iq, const std::string& sid ) = 0;
00085 
00086   };
00087 
00088 }
00089 
00090 #endif // BYTESTREAMHANDLER_H__