File indexing completed on 2024-05-12 04:58:53
0001 /** 0002 * SPDX-FileCopyrightText: 2015 Vineet Garg <grg.vineet@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #include "server.h" 0008 0009 #include "kdeconnectconfig.h" 0010 #include "lanlinkprovider.h" 0011 0012 #include <QSslError> 0013 #include <QSslKey> 0014 #include <QSslSocket> 0015 0016 Server::Server(QObject *parent) 0017 : QTcpServer(parent) 0018 { 0019 connect(this, &QTcpServer::acceptError, this, &Server::errorFound); 0020 } 0021 0022 void Server::incomingConnection(qintptr socketDescriptor) 0023 { 0024 QSslSocket *serverSocket = new QSslSocket(parent()); 0025 if (serverSocket->setSocketDescriptor(socketDescriptor)) { 0026 QObject::connect(this, &Server::closed, serverSocket, &QSslSocket::abort); 0027 addPendingConnection(serverSocket); 0028 } else { 0029 qWarning() << "setSocketDescriptor failed" << serverSocket->errorString(); 0030 delete serverSocket; 0031 } 0032 } 0033 0034 QSslSocket *Server::nextPendingConnection() 0035 { 0036 return qobject_cast<QSslSocket *>(QTcpServer::nextPendingConnection()); 0037 } 0038 0039 void Server::errorFound(QAbstractSocket::SocketError socketError) 0040 { 0041 qDebug() << "error:" << socketError; 0042 } 0043 0044 void Server::close() 0045 { 0046 QTcpServer::close(); 0047 Q_EMIT closed(); 0048 } 0049 0050 #include "moc_server.cpp"