gloox  1.0
tlshandler.h
00001 /*
00002   Copyright (c) 2007-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 
00015 #ifndef TLSHANDLER_H__
00016 #define TLSHANDLER_H__
00017 
00018 #include "macros.h"
00019 
00020 #include <string>
00021 
00022 namespace gloox
00023 {
00024 
00025   struct CertInfo;
00026   class TLSBase;
00027 
00034   class GLOOX_API TLSHandler
00035   {
00036     public:
00040       virtual ~TLSHandler() {}
00041 
00047       virtual void handleEncryptedData( const TLSBase* base, const std::string& data ) = 0;
00048 
00054       virtual void handleDecryptedData( const TLSBase* base, const std::string& data ) = 0;
00055 
00062       virtual void handleHandshakeResult( const TLSBase* base, bool success, CertInfo &certinfo ) = 0;
00063 
00064   };
00065 
00066 }
00067 
00068 #endif // TLSHANDLER_H__