include('wintools') func init() if(pos("network", QT_MOD) == 0) QT_MOD += " network" end fvar(old) old = block.select(BLK_INC) println('#include ') block.select(BLK_BODY) lng.decl_priv_var(tcpSock, 'QTcpSocket*') if(linked(doConnect)) println(tcpSock, ' = new QTcpSocket();') if(linked(onConnected)) createEvent(tcpSock, 'connected', 'onConnected') end end if(linked(onDisconnected)) createEvent(tcpSock, 'disconnected', 'onDisconnected') end if(linked(onError)) createEventArg1(tcpSock, 'error', 'onError', 'QTcpSocket::SocketError', 'QTcpSocket::SocketError socketError', 'socketError'@int) end if(linked(onHostFound)) createEvent(tcpSock, 'hostFound', 'onHostFound') end if(linked(onReadReady)) if(isdef(AutoRead)) createEventArg1(tcpSock, 'readyRead', 'onReadReady', '', '', (tcpSock + '->readAll()')@QByteArray) else createEvent(tcpSock, 'readyRead', 'onReadReady') end end block.select(BLK_CLOSE) println(tcpSock + '->close();') block.select(BLK_DESTR) println('delete ' + tcpSock + ';') block.select(old) end func _onconnected() event(onConnected) end func doRead() println('QByteArray ' + rd + ' = ' + tcpSock + '->readAll();') event(onRead, rd@QByteArray) end func doConnect(_data) println(tcpSock + '->connectToHost(', HostName, ',', Port, ');') end func doDisconnect(_data) println(tcpSock + '->close();') end func doSend(_data) fvar(d) d = _data if(expof(d) = QByteArray) println(tcpSock + '->write(', d, ');') else error('Invalid data type for point doSend') end end func Active() return(tcpSock + '->isOpen()') end func IODevice() return(tcpSock@QIODevice) end