2015-01-15 19:39:04 +00:00
|
|
|
/*************************************************************************
|
|
|
|
* Copyright (C) 2015 by Andrius Štikonas <andrius@stikonas.eu> *
|
|
|
|
* *
|
|
|
|
* 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 3 of the License, or *
|
|
|
|
* (at your option) any later version. *
|
|
|
|
* *
|
|
|
|
* 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, see <http://www.gnu.org/licenses/>.*
|
|
|
|
*************************************************************************/
|
|
|
|
|
2015-02-01 01:42:45 +00:00
|
|
|
#ifndef SERVER_H
|
|
|
|
#define SERVER_H
|
2015-01-15 19:39:04 +00:00
|
|
|
|
2015-02-03 01:24:47 +00:00
|
|
|
#include <QThread>
|
|
|
|
|
2015-02-01 01:42:45 +00:00
|
|
|
#include "socket.h"
|
2015-01-15 19:39:04 +00:00
|
|
|
|
2015-02-03 01:24:47 +00:00
|
|
|
class QUdpSocket;
|
|
|
|
|
|
|
|
class Server : public QThread
|
2015-01-15 19:39:04 +00:00
|
|
|
{
|
2015-08-18 15:29:09 +01:00
|
|
|
Q_OBJECT
|
2015-02-28 23:30:00 +00:00
|
|
|
|
2015-02-01 01:42:45 +00:00
|
|
|
public:
|
2015-08-18 15:29:09 +01:00
|
|
|
Server(std::vector<Socket*> *sockets_vector);
|
|
|
|
Server(uint16_t port, QByteArray ssid, QByteArray password);
|
2015-02-01 01:42:45 +00:00
|
|
|
~Server();
|
|
|
|
|
2015-02-28 23:30:00 +00:00
|
|
|
void discoverSockets();
|
2015-02-01 01:42:45 +00:00
|
|
|
void readPendingDatagrams();
|
2015-02-03 01:24:47 +00:00
|
|
|
void run();
|
2015-01-15 19:39:04 +00:00
|
|
|
|
2015-02-28 23:30:00 +00:00
|
|
|
Q_SIGNALS:
|
|
|
|
void discovered();
|
|
|
|
|
2015-02-01 01:42:45 +00:00
|
|
|
private:
|
2015-08-18 15:29:09 +01:00
|
|
|
QByteArray discover = QByteArray::fromHex("68 64 00 06 71 61");
|
2015-02-01 01:42:45 +00:00
|
|
|
QUdpSocket *udpSocketGet;
|
|
|
|
std::vector<Socket*> *sockets;
|
2015-02-22 23:20:20 +00:00
|
|
|
|
2015-08-18 15:29:09 +01:00
|
|
|
QByteArray listen(QByteArray message = 0);
|
2015-02-01 01:42:45 +00:00
|
|
|
};
|
2015-01-15 19:39:04 +00:00
|
|
|
|
2015-03-11 12:34:56 +00:00
|
|
|
void broadcastPassword(QString password);
|
|
|
|
QByteArray fives(unsigned short int length);
|
|
|
|
|
2015-02-01 01:42:45 +00:00
|
|
|
#endif /* SERVER_H */
|