void client::end_turn() { vector<int> vi; vi.push_back(4); char* message = tosend(vi); send(sockClient, message, strlen(message) + 1, 0); free(message); }
void client::win(int n) { vector<int> vi; vi.push_back(6); vi.push_back(n); char* message = tosend(vi); send(sockClient, message, strlen(message) + 1, 0); free(message); }
void client::draw_card(int a) { vector<int> vi; vi.push_back(8); vi.push_back(a); char* message = tosend(vi); send(sockClient, message, strlen(message) + 1, 0); free(message); }
void client::attack(int a, int b) { vector<int> vi; vi.push_back(2); vi.push_back(a); vi.push_back(b); char* message = tosend(vi); send(sockClient, message, strlen(message) + 1, 0); free(message); }
void NetworkRenderer::set_rendering_file(string xmlfile) { if(rstatus==RENDERER_RENDERING) { Logger::log(LOG_WARNING)<<"A render is in progress, cannot change scene file"<<std::endl; } else if(rstatus==RENDERER_WAITING) { Logger::log(LOG_INFO)<<"Set scene file: <"<<xmlfile<<">"<<std::endl; string tosend("SETSCENE "); tosend.append(xmlfile); network.send_to_all(tosend); } }
void client::use_card(int a, int b, int c, int d) { vector<int> vi; vi.push_back(1); vi.push_back(a); vi.push_back(b); vi.push_back(c); vi.push_back(d); char* message = tosend(vi); send(sockClient, message, strlen(message) + 1, 0); free(message); }
void ExistenceCheckerThread::run() { _imp->socket.reset( new QLocalSocket() ); _imp->socket->connectToServer(_imp->comServerPipePath, QLocalSocket::ReadWrite); if ( !_imp->socket->waitForConnected() ) { std::cerr << "Failed to connect local socket to " << _imp->comServerPipePath.toStdString() << std::endl; return; } for (;; ) { { QMutexLocker k(&_imp->mustQuitMutex); if (_imp->mustQuit) { _imp->mustQuit = false; _imp->mustQuitCond.wakeOne(); return; } } //Sleep until we need to check again msleep(NATRON_BREAKPAD_CHECK_FOR_CRASH_REPORTER_EXISTENCE_MS); qint64 writeOK; { QString tosend(_imp->checkMessage); tosend.push_back( QChar::fromLatin1('\n') ); writeOK = _imp->socket->write( tosend.toStdString().c_str() ); } if (writeOK >= 0) { _imp->socket->flush(); bool receivedAcknowledgement = false; while ( _imp->socket->waitForReadyRead(NATRON_BREAKPAD_WAIT_FOR_CRASH_REPORTER_ACK_MS) ) { //we received something, if it's not the ackknowledgement packet, recheck QString str = QString::fromUtf8( _imp->socket->readLine() ); while ( str.endsWith( QChar::fromLatin1('\n') ) ) { str.chop(1); } if (str == _imp->acknowledgementMessage) { receivedAcknowledgement = true; break; } } if (!receivedAcknowledgement) { std::cerr << tr("Crash reporter process does not seem to be responding anymore. This pipe %1 might be used somewhere else.").arg(_imp->comServerPipePath).toStdString() << std::endl; /* We did not receive te acknowledgement, hence quit */ Q_EMIT otherProcessUnreachable(); return; } } } // for(;;) } // ExistenceCheckerThread::run