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 Qt library by Trolltech AS, Norway (or with modified versions
00023  of Qt that use the same license as Qt), 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  Qt.  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 <qobject.h>
00036 
00037 class QTimer;
00038 
00039 namespace KNetwork {
00040     class KBufferedSocket;
00041 }
00042 
00043 
00044 class KNotesNetworkReceiver : public QObject
00045 {
00046     Q_OBJECT
00047 public:
00048     KNotesNetworkReceiver( KNetwork::KBufferedSocket * );
00049     ~KNotesNetworkReceiver();
00050 
00051 signals:
00052     void sigNoteReceived( const QString &, const QString & );
00053 
00054 private slots:
00055     void slotDataAvailable();
00056     void slotReceptionTimeout();
00057     void slotConnectionClosed();
00058     void slotError( int err );
00059 
00060 private:
00061     QTimer *m_timer;       // to avoid memory and connection floods
00062 
00063     QByteArray *m_buffer;
00064     KNetwork::KBufferedSocket *m_sock;
00065 
00066     QString m_titleAddon;
00067 };
00068 
00069 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys