knotes

knotesnetrecv.h
00001 /*******************************************************************
00002  KNotes -- Notes for the KDE project
00003 
00004  Copyright (c) 2003, Daniel Martin <daniel.martin@pirack.com>
00005 
00006  This program is free software; you can redistribute it and/or
00007  modify it under the terms of the GNU General Public License
00008  as published by the Free Software Foundation; either version 2
00009  of the License, or (at your option) any later version.
00010 
00011  This program is distributed in the hope that it will be useful,
00012  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  GNU General Public License for more details.
00015 
00016  You should have received a copy of the GNU General Public License
00017  along with this program; if not, write to the Free Software
00018  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00019 
00020  In addition, as a special exception, the copyright holders give
00021  permission to link the code of this program with any edition of
00022  the TQt library by Trolltech AS, Norway (or with modified versions
00023  of TQt that use the same license as TQt), and distribute linked
00024  combinations including the two.  You must obey the GNU General
00025  Public License in all respects for all of the code used other than
00026  TQt.  If you modify this file, you may extend this exception to
00027  your version of the file, but you are not obligated to do so.  If
00028  you do not wish to do so, delete this exception statement from
00029  your version.
00030 *******************************************************************/
00031 
00032 #ifndef KNOTESNETRECV_H
00033 #define KNOTESNETRECV_H
00034 
00035 #include <tqobject.h>
00036 
00037 class TQTimer;
00038 
00039 namespace KNetwork {
00040     class KBufferedSocket;
00041 }
00042 
00043 
00044 class KNotesNetworkReceiver : public TQObject
00045 {
00046     Q_OBJECT
00047   TQ_OBJECT
00048 public:
00049     KNotesNetworkReceiver( KNetwork::KBufferedSocket * );
00050     ~KNotesNetworkReceiver();
00051 
00052 signals:
00053     void sigNoteReceived( const TQString &, const TQString & );
00054 
00055 private slots:
00056     void slotDataAvailable();
00057     void slotReceptionTimeout();
00058     void slotConnectionClosed();
00059     void slotError( int err );
00060 
00061 private:
00062     TQTimer *m_timer;       // to avoid memory and connection floods
00063 
00064     TQByteArray *m_buffer;
00065     KNetwork::KBufferedSocket *m_sock;
00066 
00067     TQString m_titleAddon;
00068 };
00069 
00070 #endif