spwtcppacketserver.h
72 lines
| 2.4 KiB
| text/x-c
|
CLexer
r14 | /*------------------------------------------------------------------------------ | |||
-- This file is a part of the SocExplorer Software | ||||
-- Copyright (C) 2014, Plasma Physics Laboratory - CNRS | ||||
-- | ||||
-- 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, write to the Free Software | ||||
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||||
-------------------------------------------------------------------------------*/ | ||||
/*-- Author : Alexis Jeandet | ||||
-- Mail : alexis.jeandet@member.fsf.org | ||||
----------------------------------------------------------------------------*/ | ||||
Jeandet Alexis
|
r12 | #ifndef SPWTCPPACKETSERVER_H | ||
#define SPWTCPPACKETSERVER_H | ||||
#include <QWidget> | ||||
Jeandet Alexis
|
r18 | #include <abstractspwbridge.h> | ||
#include <QTcpServer> | ||||
Jeandet Alexis
|
r20 | #include <QList> | ||
#include <QTcpSocket> | ||||
paul
|
r40 | #include <incomingtcparser.h> | ||
Jeandet Alexis
|
r12 | |||
namespace Ui { | ||||
class SpwTcpPacketServer; | ||||
} | ||||
class SpwTcpPacketServer : public QWidget | ||||
{ | ||||
Q_OBJECT | ||||
public: | ||||
explicit SpwTcpPacketServer(QWidget *parent = 0); | ||||
~SpwTcpPacketServer(); | ||||
Jeandet Alexis
|
r18 | void setBridge(abstractSpwBridge* bridge); | ||
Jeandet Alexis
|
r22 | signals: | ||
void sendSPWPacket(char* packet,int size); | ||||
Jeandet Alexis
|
r18 | public slots: | ||
void pushPacket(char* packet,int size); | ||||
void toggleServer(); | ||||
Jeandet Alexis
|
r20 | void connectServer(); | ||
void disconnectServer(); | ||||
void setServerPort(qint32 port); | ||||
r21 | void setServerSetIP(QString ip); | |||
Jeandet Alexis
|
r20 | void newConnection(); | ||
paul
|
r40 | void parseIncomingTC(); | ||
void sendTCUsingSpaceWire(QByteArray data ); | ||||
Jeandet Alexis
|
r22 | void readReady(); | ||
paul
|
r35 | void resetStatististics(); | ||
Jeandet Alexis
|
r12 | private: | ||
Jeandet Alexis
|
r20 | void updateHostIP(); | ||
paul
|
r35 | void onePacketReceived(); | ||
void onePacketTransmitted(); | ||||
Jeandet Alexis
|
r12 | Ui::SpwTcpPacketServer *ui; | ||
Jeandet Alexis
|
r18 | abstractSpwBridge* p_bridge; | ||
QTcpServer* p_server; | ||||
Jeandet Alexis
|
r20 | QList<QTcpSocket*> connectedClients; | ||
paul
|
r35 | unsigned int receivedPackets; | ||
unsigned int transmittedPackets; | ||||
paul
|
r40 | IncomingTCParser *incomingTCParser; | ||
Jeandet Alexis
|
r12 | }; | ||
#endif // SPWTCPPACKETSERVER_H | ||||