ircproxy The Ultimate Cyborg |
00001 // ircproxy -- An IRC bouncer. 00002 // 00003 //! @file ClientSessionInput.h 00004 //! @brief This file contains the declaration of class ClientSessionInput. 00005 // 00006 // Copyright (C) 2006, 2007 by 00007 // 00008 // Carlo Wood, Run on IRC <carlo@alinoe.com> 00009 // RSA-1024 0x624ACAD5 1997-01-26 Sign & Encrypt 00010 // Fingerprint16 = 32 EC A7 B6 AC DB 65 A6 F6 F6 55 DD 1C DC FF 61 00011 // 00012 // This file may be distributed under the terms of the Q Public License 00013 // version 1.0 as appearing in the file LICENSE.QPL included in the 00014 // packaging of this file. 00015 00016 #ifndef CLIENTSESSIONINPUT_H 00017 #define CLIENTSESSIONINPUT_H 00018 00019 #ifndef USE_PCH 00020 #include <libcw/sock.h> 00021 #include <libcw/traits.h> 00022 #include <libcw/eomf.h> 00023 #endif 00024 00025 #include "MessageIn.h" 00026 00027 /*! @brief Client session input decoder. 00028 * 00029 * This class is responsible for decoding messages received from a client. 00030 */ 00031 class ClientSessionInput : public read_input_tct<text> { 00032 private: 00033 ClientMessageIn M_current_msg; //!< The IRC message currently being decoded. 00034 00035 public: 00036 ClientSessionInput(input_buffer_ct* ibuf); 00037 00038 protected: 00039 // Incoming event from read_input_tct<text>. 00040 void decode(msg_block_ct msg_block); 00041 00042 protected: 00043 // Outgoing event to ClientSession (derived from this class). 00044 virtual void new_message_received(ClientMessageIn const&) = 0; 00045 }; 00046 00047 #endif // CLIENTSESSIONINPUT_H
Copyright © 2005-2007 Carlo Wood. All rights reserved. |
---|