X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fpeerfactory.h;h=0cf22a764c4a3dd0e53d56fc60e9662f36ebecf3;hb=45645a28bdc5b6c1052b3e4cebf8cc80832d205a;hp=967371195ae1dc5967c98bb87b1fa9dd8217727e;hpb=31414ddaa421b1f8091eab8149da74545f7c47ab;p=quassel.git diff --git a/src/common/peerfactory.h b/src/common/peerfactory.h index 96737119..0cf22a76 100644 --- a/src/common/peerfactory.h +++ b/src/common/peerfactory.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2019 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,11 +18,13 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef PEERFACTORY_H -#define PEERFACTORY_H +#pragma once + +#include "common-export.h" #include +#include "compressor.h" #include "protocol.h" class QObject; @@ -31,17 +33,23 @@ class QTcpSocket; class AuthHandler; class RemotePeer; -class PeerFactory +class COMMON_EXPORT PeerFactory { - public: // second value is the protocol-specific features - typedef QPair ProtoDescriptor; - typedef QVector ProtoList; - - static RemotePeer *createPeer(const ProtoDescriptor &protocol, AuthHandler *authHandler, QTcpSocket *socket, QObject *parent = 0); - static RemotePeer *createPeer(const ProtoList &protocols, AuthHandler *authHandler, QTcpSocket *socket, QObject *parent = 0); - + using ProtoDescriptor = QPair; + using ProtoList = QVector; + + static ProtoList supportedProtocols(); + + static RemotePeer* createPeer(const ProtoDescriptor& protocol, + AuthHandler* authHandler, + QTcpSocket* socket, + Compressor::CompressionLevel level, + QObject* parent = nullptr); + static RemotePeer* createPeer(const ProtoList& protocols, + AuthHandler* authHandler, + QTcpSocket* socket, + Compressor::CompressionLevel level, + QObject* parent = nullptr); }; - -#endif