#include <qdesigner_server.h>
Inheritance diagram for QDesignerServer:


Definition at line 32 of file qdesigner_server.h.
Public Member Functions | |
| QDesignerServer (QObject *parent=0) | |
| virtual | ~QDesignerServer () |
| quint16 | serverPort () const |
Static Public Member Functions | |
| static void | sendOpenRequest (int port, const QStringList &files) |
Private Slots | |
| void | handleNewConnection () |
| void | readFromClient () |
| void | socketClosed () |
Private Attributes | |
| QTcpServer * | m_server |
| QTcpSocket * | m_socket |
| QDesignerServer::QDesignerServer | ( | QObject * | parent = 0 |
) |
Definition at line 38 of file qdesigner_server.cpp.
References QObject::connect(), handleNewConnection(), QTcpServer::isListening(), QTcpServer::listen(), QHostAddress::LocalHost, m_server, m_socket, SIGNAL, and SLOT.
00039 : QObject(parent) 00040 { 00041 m_socket = 0; 00042 m_server = new QTcpServer(this); 00043 m_server->listen(QHostAddress::LocalHost, 0); 00044 if (m_server->isListening()) 00045 { 00046 connect(m_server, SIGNAL(newConnection()), 00047 this, SLOT(handleNewConnection())); 00048 } 00049 }
Here is the call graph for this function:

| QDesignerServer::~QDesignerServer | ( | ) | [virtual] |
| quint16 QDesignerServer::serverPort | ( | ) | const |
Definition at line 55 of file qdesigner_server.cpp.
References m_server, and QTcpServer::serverPort().
Referenced by QDesigner::initialize().
00056 { 00057 return m_server ? m_server->serverPort() : 0; 00058 }
Here is the call graph for this function:

| void QDesignerServer::sendOpenRequest | ( | int | port, | |
| const QStringList & | files | |||
| ) | [static] |
Definition at line 60 of file qdesigner_server.cpp.
References QFileInfo::absoluteFilePath(), QAbstractSocket::close(), QAbstractSocket::connectToHost(), QHostAddress::LocalHost, QString::toUtf8(), QAbstractSocket::waitForBytesWritten(), QAbstractSocket::waitForConnected(), and QIODevice::write().
00061 { 00062 QTcpSocket *sSocket = new QTcpSocket(); 00063 sSocket->connectToHost(QHostAddress::LocalHost, port); 00064 if(sSocket->waitForConnected(3000)) 00065 { 00066 foreach(QString file, files) 00067 { 00068 QFileInfo fi(file); 00069 sSocket->write(fi.absoluteFilePath().toUtf8() + '\n'); 00070 } 00071 sSocket->waitForBytesWritten(3000); 00072 sSocket->close(); 00073 } 00074 delete sSocket; 00075 }
Here is the call graph for this function:

| void QDesignerServer::handleNewConnection | ( | ) | [private, slot] |
Definition at line 95 of file qdesigner_server.cpp.
References QObject::connect(), m_server, m_socket, QTcpServer::nextPendingConnection(), readFromClient(), SIGNAL, SLOT, and socketClosed().
Referenced by QDesignerServer().
00096 { 00097 // no need for more than one connection 00098 if (m_socket == 0) { 00099 m_socket = m_server->nextPendingConnection(); 00100 connect(m_socket, SIGNAL(readyRead()), 00101 this, SLOT(readFromClient())); 00102 connect(m_socket, SIGNAL(disconnected()), 00103 this, SLOT(socketClosed())); 00104 } 00105 }
| void QDesignerServer::readFromClient | ( | ) | [private, slot] |
Definition at line 77 of file qdesigner_server.cpp.
References QAbstractSocket::canReadLine(), QString::fromUtf8(), QString::isNull(), m_socket, qDesigner, QIODevice::readLine(), and QString::replace().
Referenced by handleNewConnection().
00078 { 00079 QString file = QString(); 00080 while (m_socket->canReadLine()) { 00081 file = QString::fromUtf8(m_socket->readLine()); 00082 if (!file.isNull()) { 00083 file = file.replace(QLatin1String("\n"), QLatin1String("")); 00084 file = file.replace(QLatin1String("\r"), QLatin1String("")); 00085 qDesigner->postEvent(qDesigner, new QFileOpenEvent(file)); 00086 } 00087 } 00088 }
| void QDesignerServer::socketClosed | ( | ) | [private, slot] |
Definition at line 90 of file qdesigner_server.cpp.
References m_socket.
Referenced by handleNewConnection().
00091 { 00092 m_socket = 0; 00093 }
QTcpServer* QDesignerServer::m_server [private] |
Definition at line 49 of file qdesigner_server.h.
Referenced by handleNewConnection(), QDesignerServer(), and serverPort().
QTcpSocket* QDesignerServer::m_socket [private] |
Definition at line 50 of file qdesigner_server.h.
Referenced by handleNewConnection(), QDesignerServer(), readFromClient(), and socketClosed().
1.5.1