X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fpeerfactory.h;h=ca6639aa18ecc6eb45b8bb3971b024093f393aa3;hb=d89f4d9cdbc167112e64fca1931e81bc27d17319;hp=967371195ae1dc5967c98bb87b1fa9dd8217727e;hpb=31414ddaa421b1f8091eab8149da74545f7c47ab;p=quassel.git diff --git a/src/common/peerfactory.h b/src/common/peerfactory.h index 96737119..ca6639aa 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-2018 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,17 @@ 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; + using ProtoDescriptor = QPair; + using ProtoList = QVector; - 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); + 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 +};