summaryrefslogtreecommitdiffstats
path: root/src/UiGuiIndentServer.cpp
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2022-09-18 20:19:47 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2022-09-18 20:39:48 +0900
commita80a494efee7979c28ab1090734270e5c0515352 (patch)
tree1cdaee39e3e5a2b32c171f8389b29b15c519c607 /src/UiGuiIndentServer.cpp
parent14f7e49438caa24af81a0d7d7864ce71d96791e4 (diff)
downloaduniversal-indent-gui-tqt-a80a494efee7979c28ab1090734270e5c0515352.tar.gz
universal-indent-gui-tqt-a80a494efee7979c28ab1090734270e5c0515352.zip
Added main window menubar GUI. The logic of each action has not been implemented yet.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'src/UiGuiIndentServer.cpp')
-rw-r--r--src/UiGuiIndentServer.cpp175
1 files changed, 0 insertions, 175 deletions
diff --git a/src/UiGuiIndentServer.cpp b/src/UiGuiIndentServer.cpp
deleted file mode 100644
index 91c5ec7..0000000
--- a/src/UiGuiIndentServer.cpp
+++ /dev/null
@@ -1,175 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2006-2012 by Thomas Schweitzer *
- * thomas-schweitzer(at)arcor.de *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License version 2.0 as *
- * published by the Free Software Foundation. *
- * *
- * 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 in the file LICENSE.GPL; if not, write to the *
- * Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
- ***************************************************************************/
-
-#include "UiGuiIndentServer.h"
-
-#include <tqtcpserver.h>
-#include <tqtcpsocket.h>
-#include <tntqmessagebox.h>
-#include <tqtdebug.h>
-
-//! \defgroup grp_Server All concerning the server component.
-
-/*!
- \class UiGuiIndentServer
- \ingroup grp_Server
- \brief UiGuiIndentServer is in such an early state, that even the communication
- protocol isn't completely planned. So this class lacks documentation until
- I really know where all this will lead to.
-
- The plan however is to have a server that receives commands for selecting an
- indenter and perhaps load some by the user predefined indenter config file. Then
- the client can send a text to it and will receive it formatted.
- The idea behind that is to make UiGUIs use as plugin or whatever more flexible.
- So the plugin is developed for Eclipse for example and it takes the client role,
- making it possible to use UiGUI from within Eclipse. Choosing a network protocol
- makes everything platform and programming language independent, so it doesn't
- matter for which application the plugin/client is developed.
-*/
-
-UiGuiIndentServer::UiGuiIndentServer(void) :
- TQObject()
-{
- _tcpServer = NULL;
- _currentClientConnection = NULL;
- _readyForHandleRequest = false;
-}
-
-UiGuiIndentServer::~UiGuiIndentServer(void)
-{
-}
-
-void UiGuiIndentServer::startServer()
-{
- if (_tcpServer == NULL)
- {
- _tcpServer = new TQTcpServer(this);
- }
-
- if (!_tcpServer->isListening())
- {
- if (!_tcpServer->listen(TQHostAddress::Any, tquint16(84484)))
- {
- TQMessageBox::critical(NULL, tr("UiGUI Server"),
- tr("Unable to start the server: %1.").arg(_tcpServer->errorString()));
- return;
- }
- }
-
- connect(_tcpServer, SIGNAL(newConnection()), this, SLOT(handleNewConnection()));
- _readyForHandleRequest = true;
- _blockSize = 0;
-}
-
-void UiGuiIndentServer::stopServer()
-{
- if (_tcpServer != NULL)
- {
- _tcpServer->close();
- delete _tcpServer;
- _tcpServer = NULL;
- }
- _currentClientConnection = NULL;
- _readyForHandleRequest = false;
-}
-
-void UiGuiIndentServer::handleNewConnection()
-{
- TQTcpSocket *clientConnection = _tcpServer->nextPendingConnection();
- connect(clientConnection, SIGNAL(disconnected()), clientConnection, SLOT(deleteLater()));
-
- connect(clientConnection, SIGNAL(readyRead()), this, SLOT(handleReceivedData()));
-}
-
-void UiGuiIndentServer::handleReceivedData()
-{
- if (!_readyForHandleRequest)
- {
- return;
- }
-
- _currentClientConnection = qobject_cast<TQTcpSocket*>(sender());
- TQString receivedData = "";
-
- if (_currentClientConnection != NULL)
- {
- TQDataStream in(_currentClientConnection);
- in.setVersion(TQDataStream::TQt_4_0);
-
- if (_blockSize == 0)
- {
- if (_currentClientConnection->bytesAvailable() < (int)sizeof(tquint32))
- {
- return;
- }
-
- in >> _blockSize;
- }
-
- if (_currentClientConnection->bytesAvailable() < _blockSize)
- {
- return;
- }
-
- TQString receivedMessage;
- in >> receivedMessage;
-
- _blockSize = 0;
-
- tqDebug() << "receivedMessage: " << receivedMessage;
-
- if (receivedMessage == "ts")
- {
- sendMessage("Toll");
- }
- else
- {
- sendMessage("irgendwas");
- }
- }
-}
-
-void UiGuiIndentServer::sendMessage(const TQString &message)
-{
- _readyForHandleRequest = false;
-
- _dataToSend = "";
- TQDataStream out(&_dataToSend, TQIODevice::WriteOnly);
- out.setVersion(TQDataStream::TQt_4_0);
- out << (tquint32)0;
- out << message;
- out.device()->seek(0);
- out << (tquint32)(_dataToSend.size() - sizeof(tquint32));
-
- connect(_currentClientConnection, SIGNAL(bytesWritten(qint64)), this,
- SLOT(checkIfReadyForHandleRequest()));
- _currentClientConnection->write(_dataToSend);
-}
-
-void UiGuiIndentServer::checkIfReadyForHandleRequest()
-{
- if (_currentClientConnection->bytesToWrite() == 0)
- {
- TQString dataToSendStr = _dataToSend.right(_dataToSend.size() - sizeof(tquint32));
- tqDebug() << "checkIfReadyForHandleRequest _dataToSend was: " << dataToSendStr;
- disconnect(_currentClientConnection, SIGNAL(bytesWritten(qint64)), this,
- SLOT(checkIfReadyForHandleRequest()));
- _readyForHandleRequest = true;
- }
-}