diff options
| author | Niklas | 2011-07-13 17:03:29 +0200 |
|---|---|---|
| committer | Niklas | 2011-07-13 17:03:29 +0200 |
| commit | 5c815484e63280f9fdbe167149a5f693a29945b9 (patch) | |
| tree | 6de3b0de48aad83aa151922127c8cba50400e16a /workspace/LogReceiver | |
| parent | added the custom dhcpcd client to git. (diff) | |
| download | fbgui-5c815484e63280f9fdbe167149a5f693a29945b9.tar.gz fbgui-5c815484e63280f9fdbe167149a5f693a29945b9.tar.xz fbgui-5c815484e63280f9fdbe167149a5f693a29945b9.zip | |
multiple clients possible. inserted something into _send_message
Diffstat (limited to 'workspace/LogReceiver')
| -rwxr-xr-x | workspace/LogReceiver/LogReceiver | bin | 35241 -> 35272 bytes | |||
| -rw-r--r-- | workspace/LogReceiver/logreceiver.cpp | 83 | ||||
| -rw-r--r-- | workspace/LogReceiver/logreceiver.h | 2 | ||||
| -rw-r--r-- | workspace/LogReceiver/logreceiver.ui | 9 |
4 files changed, 62 insertions, 32 deletions
diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver Binary files differindex 0a4b640..4c9ccec 100755 --- a/workspace/LogReceiver/LogReceiver +++ b/workspace/LogReceiver/LogReceiver diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 6988463..29ea8d8 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -1,5 +1,6 @@ #include <QtGui> #include <QtNetwork> +#include <QMap> #include <stdio.h> #include <string.h> @@ -13,7 +14,7 @@ LogReceiver::LogReceiver(QWidget *parent) : QDialog(parent) { - ui.setupUi(this); + //ui.setupUi(this); statusLabel = new QLabel; quitButton = new QPushButton(tr("Quit")); @@ -51,32 +52,65 @@ LogReceiver::~LogReceiver() { } - void LogReceiver::handleNewConnection() - { - qDebug() << "New Connection arrived"; +void LogReceiver::handleNewConnection() { + qDebug() << "New Connection arrived"; - clientSocket = server->nextPendingConnection(); - connect(clientSocket, SIGNAL(disconnected()), - clientSocket, SLOT(deleteLater())); - connect(clientSocket, SIGNAL(readyRead()), this, SLOT(handleNewInput())); - } + QLocalSocket * client = server ->nextPendingConnection(); + clients.insert(client, client); + connect(client, SIGNAL(disconnected()), client, SLOT(deleteLater())); + connect(client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); +} + +void LogReceiver::handleNewInput() { + + QObject* sender = const_cast<QObject*> (QObject::sender()); + QLocalSocket* socket = static_cast<QLocalSocket*> (sender); + + QLocalSocket * client = clients.value(socket); + + QByteArray data = client->readAll(); + QString logMsg(data); + QString s_state = logMsg.section(";", 0, 0); + QString s_subState = logMsg.section(";", 1, 1); + QString msg = logMsg.section(";", 2, 2); + + qDebug() << logMsg; - void LogReceiver::handleNewInput() { + qDebug() << msg; - QByteArray data = clientSocket->readAll(); - char * cdata = new char[data.size() +1]; - qDebug() << data.size(); - qDebug() << strlen(cdata); - strcpy(cdata, data.data()); - qDebug() << strlen(cdata); - qDebug() << cdata; - int st, sst; - char str[40]; - sscanf(cdata, "%d;%d;%s",&st,&sst,str); + int st = s_state.toInt(); + int sst = s_subState.toInt(); switch (st) { case STAT_OK: qDebug() << "received stat_ok"; + switch (sst) { + case DHCP_DISCOVER: + break; + case DHCP_OFFER: + + break; + case DHCP_REQUEST: + + break; + case DHCP_DECLINE: + + break; + case DHCP_ACK: + + break; + case DHCP_NAK: + + break; + case DHCP_RELEASE: + + break; + case DHCP_INFORM: + + break; + default: + break; + } break; case STAT_ERROR: qDebug() << "received stat_error"; @@ -85,15 +119,6 @@ LogReceiver::~LogReceiver() { qDebug() << "undefined status"; } - qDebug() << st; - QString logMsg(data); - - /** - * verarbeite den string - */ - - qDebug() << logMsg; - statusLabel->setText(logMsg); } diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index 6b94eab..f73a56a 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -27,8 +27,8 @@ private: QPushButton *quitButton; QLocalServer *server; QStringList fortunes; - QLocalSocket *clientSocket; quint16 blockSize; + QMap<QLocalSocket *, QLocalSocket *> clients; }; #endif // LOGRECEIVER_H diff --git a/workspace/LogReceiver/logreceiver.ui b/workspace/LogReceiver/logreceiver.ui index 500f418..d8c1d46 100644 --- a/workspace/LogReceiver/logreceiver.ui +++ b/workspace/LogReceiver/logreceiver.ui @@ -6,13 +6,18 @@ <rect> <x>0</x> <y>0</y> - <width>400</width> - <height>300</height> + <width>572</width> + <height>385</height> </rect> </property> <property name="windowTitle"> <string>LogReceiver</string> </property> + <property name="styleSheet"> + <string notr="true">#LogReceiverClass{ +background:grey; +}</string> + </property> <widget class="QLabel" name="label"> <property name="geometry"> <rect> |
