X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fremoteconnection.h;fp=src%2Fcommon%2Fremoteconnection.h;h=0000000000000000000000000000000000000000;hp=6d12d70fef5c61087187a188887463666f151a06;hb=1cc49e5bd7542366995f501adf60da4ad90869e2;hpb=8834ebbb9e03ed09bd3509e5f8634769ff68bb48 diff --git a/src/common/remoteconnection.h b/src/common/remoteconnection.h deleted file mode 100644 index 6d12d70f..00000000 --- a/src/common/remoteconnection.h +++ /dev/null @@ -1,110 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2005-2013 by the Quassel Project * - * devel@quassel-irc.org * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) version 3. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#ifndef REMOTECONNECTION_H -#define REMOTECONNECTION_H - -#include -#include - -#include "protocol.h" -#include "signalproxy.h" - -class QTimer; - -class RemoteConnection : public SignalProxy::AbstractPeer -{ - Q_OBJECT - -public: - RemoteConnection(QTcpSocket *socket, QObject *parent = 0); - virtual ~RemoteConnection() {}; - - void setSignalProxy(SignalProxy *proxy); - - QString description() const; - - bool isOpen() const; - bool isSecure() const; - bool isLocal() const; - - int lag() const; - - bool compressionEnabled() const; - void setCompressionEnabled(bool enabled); - - QTcpSocket *socket() const; - - // this is only used for the auth phase and should be replaced by something more generic - virtual void writeSocketData(const QVariant &item) = 0; - -public slots: - void close(const QString &reason = QString()); - -signals: - // this is only used for the auth phase and should be replaced by something more generic - void dataReceived(const QVariant &item); - - void disconnected(); - void error(QAbstractSocket::SocketError); - - void transferProgress(int current, int max); - -protected: - SignalProxy *signalProxy() const; - - template - void handle(const T &protoMessage); - - // These protocol messages get handled internally and won't reach SignalProxy - void handle(const Protocol::HeartBeat &heartBeat); - void handle(const Protocol::HeartBeatReply &heartBeatReply); - virtual void dispatch(const Protocol::HeartBeat &msg) = 0; - virtual void dispatch(const Protocol::HeartBeatReply &msg) = 0; - -private slots: - void sendHeartBeat(); - void changeHeartBeatInterval(int secs); - -private: - QTcpSocket *_socket; - SignalProxy *_signalProxy; - QTimer *_heartBeatTimer; - int _heartBeatCount; - int _lag; -}; - - -// Template methods we need in the header -template inline -void RemoteConnection::handle(const T &protoMessage) -{ - if (!signalProxy()) { - qWarning() << Q_FUNC_INFO << "Cannot handle messages without a SignalProxy!"; - return; - } - - // _heartBeatCount = 0; - - signalProxy()->handle(this, protoMessage); -} - - -#endif