equal
deleted
inserted
replaced
57 } |
57 } |
58 disconnect(IPCServer, SIGNAL(newConnection()), this, SLOT(NewConnection())); |
58 disconnect(IPCServer, SIGNAL(newConnection()), this, SLOT(NewConnection())); |
59 IPCSocket = IPCServer->nextPendingConnection(); |
59 IPCSocket = IPCServer->nextPendingConnection(); |
60 if(!IPCSocket) return; |
60 if(!IPCSocket) return; |
61 connect(IPCSocket, SIGNAL(disconnected()), this, SLOT(ClientDisconnect())); |
61 connect(IPCSocket, SIGNAL(disconnected()), this, SLOT(ClientDisconnect())); |
62 connect(IPCSocket, SIGNAL(disconnected()), IPCSocket, SLOT(deleteLater())); |
|
63 connect(IPCSocket, SIGNAL(readyRead()), this, SLOT(ClientRead())); |
62 connect(IPCSocket, SIGNAL(readyRead()), this, SLOT(ClientRead())); |
64 SendToClientFirst(); |
63 SendToClientFirst(); |
65 } |
64 } |
66 |
65 |
67 void TCPBase::RealStart() |
66 void TCPBase::RealStart() |
76 process->start(bindir->absolutePath() + "/hwengine", arguments); |
75 process->start(bindir->absolutePath() + "/hwengine", arguments); |
77 } |
76 } |
78 |
77 |
79 void TCPBase::ClientDisconnect() |
78 void TCPBase::ClientDisconnect() |
80 { |
79 { |
|
80 disconnect(IPCSocket, SIGNAL(readyRead()), this, SLOT(ClientRead())); |
81 onClientDisconnect(); |
81 onClientDisconnect(); |
82 |
82 |
83 if(srvsList.size()==1) srvsList.pop_front(); |
83 if(srvsList.size()==1) srvsList.pop_front(); |
84 emit isReadyNow(); |
84 emit isReadyNow(); |
|
85 IPCSocket->deleteLater(); |
85 deleteLater(); |
86 deleteLater(); |
86 } |
87 } |
87 |
88 |
88 void TCPBase::ClientRead() |
89 void TCPBase::ClientRead() |
89 { |
90 { |
90 readbuffer.append(IPCSocket->readAll()); |
91 QByteArray readed=IPCSocket->readAll(); |
|
92 if(readed.isEmpty()) return; |
|
93 readbuffer.append(readed); |
91 onClientRead(); |
94 onClientRead(); |
92 } |
95 } |
93 |
96 |
94 void TCPBase::StartProcessError(QProcess::ProcessError error) |
97 void TCPBase::StartProcessError(QProcess::ProcessError error) |
95 { |
98 { |