Exemple #1
0
void Worker::incomingConnection(int socketDescriptor)
{
  Socket *socket = new Socket(this);
  if (!socket->setSocketDescriptor(socketDescriptor)) {
    socket->deleteLater();
    return;
  }

  SCHAT_DEBUG_STREAM("[SendFile] Worker::incomingConnection()" << "socket:" << socket);

  connect(socket, SIGNAL(released()), SLOT(released()));
  connect(socket, SIGNAL(syncRequest()), SLOT(syncRequest()));
  connect(socket, SIGNAL(handshake(QByteArray,char)), SLOT(handshake(QByteArray,char)));
}
int QObjectProxy::setProperty( const char *property, PyrSlot *arg, bool direct )
{
  qscDebugMsg("SET: %s\n", property);

  PropertyData p;
  p.name = property;
  p.value = Slot::toVariant( arg );

  QVariant data = QVariant::fromValue<PropertyData>(p);

  if( direct )
    syncRequest( SetProperty, data );
  else
    asyncRequest( SetProperty, data );

  return errNone;
}
void AmptekSDD123Server::syncDatagramTimeout()
{
	socketLocallyBusy_ = false;
	disconnect(syncPacketTimer_, SIGNAL(timeout()), this, SLOT(syncDatagramTimeout()));
	syncPacketTimer_->stop();
	if(stillReceivingResponseDatagram_){
		connect(syncPacketTimer_, SIGNAL(timeout()), this, SLOT(syncDatagramTimeout()));
		syncPacketTimer_->start(currentSyncPacket_.timeout());
		return;
	}
	if(currentRequestPacket_.relatedSyncRequestIDs().count() < 4){
		timedOutPackets_.append(currentSyncPacket_);
		syncRequest();
	}
	else{
		qDebug() << "Could not complete sync request" << " Been " << currentRequestTime_.elapsed() << " since original request";
	}
}
int QObjectProxy::getProperty( const char *property,
                               PyrSlot *ret, PyrSlot *retExtra )
{
  qscDebugMsg("GET: %s\n", property);

  bool haveExtra = !IsNil( retExtra );
  PropertyData p;
  p.name = property;
  p.slot = haveExtra ? retExtra : ret;

  QVariant err( errNone );

  syncRequest( GetProperty, QVariant::fromValue<PropertyData>( p ), &err );

  if( haveExtra ) slotCopy( ret, retExtra );

  qscDebugMsg("GOT: %s\n", property);
  return err.toInt();
}
Exemple #5
0
/**
 * @param tokens message tokens
 */
bool SessionState::handleMessage(const QStringList& tokens)
{
    if(tokens[0] == "SAY") {
        int userid = tokens.at(1).toInt();
        if(hasUser(userid))
            emit chatMessage(user(userid).name(), tokens.at(2));
        else
            qWarning() << "Got chat message from unknown user:"******"USER") {
        updateUser(tokens);
    } else if(tokens[0] == "PART") {
        partUser(tokens);
    } else if(tokens[0] == "SLOCK") {
        emit syncWait();
    } else if(tokens[0] == "SUNLOCK") {
        emit syncDone();
    } else if(tokens[0] == "BOARD") {
        update(Session(tokens));
    } else if(tokens[0] == "RASTER") {
        releaseRaster();
        expectRaster_ = tokens.at(1).toInt();
        if(expectRaster_ == 0)
            emit rasterReceived(100);
    } else if(tokens[0] == "GIVERASTER") {
        emit syncRequest();
    } else if(tokens[0] == "MORE") {
        if(isUploading())
            sendRasterChunk();
        else
            qWarning() << "Got request for more raster data, but we're not uploading anything!";
    } else if(tokens[0] == "ANNOTATE") {
        protocol::Annotation a(tokens);
        if(!a.isValid())
            qWarning() << "Received an invalid annotation";
        else
            emit annotation(a);
    } else if(tokens[0] == "RMANNOTATION") {
        emit rmAnnotation(tokens.at(1).toInt());
    } else
        return false;
    return true;
}
void AmptekSDD123Server::requestDatagramTimeout()
{
	requestPacketTimer_->stop();

	socketLocallyBusy_ = false;
	disconnect(requestPacketTimer_, SIGNAL(timeout()), this, SLOT(requestDatagramTimeout()));
	if(stillReceivingResponseDatagram_){
		connect(requestPacketTimer_, SIGNAL(timeout()), this, SLOT(requestDatagramTimeout()));
		requestPacketTimer_->start(currentRequestPacket_.timeout());
		return;
	}

	if(currentRequestPacket_.commandId() == AmptekCommandManagerSGM::RequestCommTestEchoPacket && QString(QByteArray::fromHex(currentRequestPacket_.dataString().toAscii())) == "a7xi272727;idhai"){
		detectorUnavailable_ = true;
		emit detectorUnavailableChanged(detectorUnavailable_);
		return;
	}
	timedOutPackets_.append(currentRequestPacket_);
	syncRequest();
}