24 #include "kgameprocess.h"
27 #include "kgamemessage.h"
28 #include "kmessageio.h"
30 #include <krandomsequence.h>
33 #include <tqdatastream.h>
34 #include <tqcstring.h>
42 #define READ_BUFFER_SIZE 1024
50 rFile.open(IO_ReadOnly|IO_Raw,stdin);
51 wFile.open(IO_WriteOnly|IO_Raw,stdout);
52 mMessageIO=
new KMessageFilePipe(
this,&rFile,&wFile);
57 connect (mMessageIO, TQT_SIGNAL(received(
const TQByteArray&)),
59 fprintf(stderr,
"KGameProcess::constructor %p %p\n",&rFile,&wFile);
61 mRandom =
new KRandomSequence;
72 fprintf(stderr,
"KGameProcess::destructor\n");
93 fprintf(stderr,
"KGameProcess::sendMessage id=%d recv=%d",msgid,receiver);
95 TQDataStream outstream(a,IO_WriteOnly);
97 TQBuffer *device=(TQBuffer *)stream.device();
98 TQByteArray data=device->buffer();;
100 KGameMessage::createHeader(outstream,0,receiver,msgid);
101 outstream.writeRawBytes(data.data(),data.size());
107 if (mMessageIO) mMessageIO->send(a);
128 fprintf(stderr,
"processArgs \n");
134 TQDataStream stream(receiveBuffer, IO_ReadOnly);
138 KGameMessage::extractHeader(stream, sender, receiver, msgid);
139 fprintf(stderr,
"------ receiveNetworkTransmission(): id=%d sender=%d,recv=%d\n",msgid,sender,receiver);
142 case KGameMessage::IdTurn:
147 case KGameMessage::IdIOAdded:
153 emit
signalCommand(stream,msgid-KGameMessage::IdUser,receiver,sender);
158 #include "kgameprocess.moc"