• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ dataAvailable函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中dataAvailable函数的典型用法代码示例。如果您正苦于以下问题:C++ dataAvailable函数的具体用法?C++ dataAvailable怎么用?C++ dataAvailable使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了dataAvailable函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: recv

ConnectionError ConnectionTCPServer::recv( int timeout )
{
    m_recvMutex.lock();

    if( m_cancel || m_socket < 0 || !m_connectionHandler )
    {
        m_recvMutex.unlock();
        return ConnNotConnected;
    }

    if( !dataAvailable( timeout ) )
    {
        m_recvMutex.unlock();
        return ConnNoError;
    }

    struct sockaddr_in they;
    int sin_size = sizeof( struct sockaddr_in );
#ifdef WIN32
    int newfd = accept( m_socket, (struct sockaddr*)&they, &sin_size );
#else
    int newfd = accept( m_socket, (struct sockaddr*)&they, (socklen_t*)&sin_size );
#endif

    m_recvMutex.unlock();

    ConnectionTCPClient* conn = new ConnectionTCPClient( m_logInstance, inet_ntoa( they.sin_addr ),
            ntohs( they.sin_port ) );
    conn->setSocket( newfd );
    m_connectionHandler->handleIncomingConnection( conn );

    return ConnNoError;
}
开发者ID:uvbs,项目名称:SupportCenter,代码行数:33,代码来源:connectiontcpserver.cpp


示例2: QObject

ctkDICOMHostMainLogic::ctkDICOMHostMainLogic(ctkHostedAppPlaceholderWidget* placeHolder, ctkDICOMAppWidget* dicomAppWidget, 
                                             QWidget* placeHolderForControls) : 
  QObject(placeHolder), 
  PlaceHolderForHostedApp(placeHolder),
  DicomAppWidget(dicomAppWidget),
  PlaceHolderForControls(placeHolderForControls),
  ValidSelection(false),
  SendData(false)
{
  this->Host = new ctkExampleDicomHost(PlaceHolderForHostedApp);
  this->HostControls = new ctkExampleHostControlWidget(Host, PlaceHolderForControls);

  Data = new ctkDicomAppHosting::AvailableData;

  disconnect(this->Host,SIGNAL(startProgress()),this->Host,SLOT(onStartProgress()));
  connect(this->Host,SIGNAL(appReady()),this,SLOT(onAppReady()), Qt::QueuedConnection);
  connect(this->Host,SIGNAL(startProgress()),this,SLOT(publishSelectedData()), Qt::QueuedConnection);
  connect(this->PlaceHolderForHostedApp,SIGNAL(resized()),this,SLOT(placeHolderResized()));

  QTreeView * treeview = dicomAppWidget->findChild<QTreeView*>("TreeView");
  QItemSelectionModel* selectionmodel = treeview->selectionModel();
  connect(selectionmodel, SIGNAL(selectionChanged ( const QItemSelection &, const QItemSelection & )),
    this, SLOT(onTreeSelectionChanged(const QItemSelection &, const QItemSelection &)));

  connect(this->Host, SIGNAL(dataAvailable()), this, SLOT(onDataAvailable()));

  connect( qApp, SIGNAL(aboutToQuit()), this, SLOT(aboutToQuit()) );
}
开发者ID:151706061,项目名称:CTK,代码行数:28,代码来源:ctkDICOMHostMainLogic.cpp


示例3: GetModuleHandleA

bool LH_MonitoringSource_Fraps::doUpdate()
{
#ifndef Q_OS_WIN
    return false;
#else
    HMODULE frapsDLL;
    FRAPS_SHARED_DATA *fsd;
#ifdef Q_PROCESSOR_X86_32
    frapsDLL = GetModuleHandleA("FRAPS32.DLL");
#else
    frapsDLL = GetModuleHandleA("FRAPS64.DLL");
#endif
    bool resultVal = false;

    setDataAvailable(frapsDLL != NULL);
    if(!dataAvailable()) // Not running
        pingFraps();
    else {
        FrapsSharedData = (FRAPS_SHARED_DATA *(WINAPI *)()) GetProcAddress(frapsDLL, "FrapsSharedData");

        if (!FrapsSharedData)
        {
            qWarning() << "This version of Fraps is incompatible with LCDHost: Fraps 1.9C or later is required!";
        } else {
            fsd = FrapsSharedData();
            updateValue("Current FPS","","",(int)fsd->currentFPS, fps_);
            updateValue("Game Name","","",fsd->gameName);
            //updateValue("Total Frames","","",(int)fsd->totalFrames);
            //updateValue("Time of Last Frame","","",(int)fsd->timeOfLastFrame);
            resultVal = true;
        }
    }
    return resultVal;
#endif
}
开发者ID:Busti,项目名称:LCDHost,代码行数:35,代码来源:LH_MonitoringSource_Fraps.cpp


示例4: QObject

TextTraceHandler::TextTraceHandler(QIODevice *device, QObject *parent)
: QObject(parent)
{
    d = new TextTraceHandlerPrivate;
    d->device = device;
    connect(device, SIGNAL(readyRead()), this, SLOT(dataAvailable()));
}
开发者ID:mohdpatah,项目名称:qt,代码行数:7,代码来源:texttracehandler.cpp


示例5: Q_ASSERT

bool SensorfwRotationSensor::doConnect()
{
    Q_ASSERT(m_sensorInterface);
    if (m_bufferSize==1)
       return QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(XYZ)), this, SLOT(slotDataAvailable(XYZ)));
    return QObject::connect(m_sensorInterface, SIGNAL(frameAvailable(QVector<XYZ>)),this, SLOT(slotFrameAvailable(QVector<XYZ>)));
}
开发者ID:venkatarajasekhar,项目名称:Qt,代码行数:7,代码来源:sensorfwrotationsensor.cpp


示例6: playerlistRequested

void ServerSocket::handleData()
{
    /*  qWarning() << "void ServerSocket::handleSocketData()" << m_bufferedData << m_bufferedData.size();
      int datasize = m_bufferedData.size();
      if((!(datasize % 4)) && datasize < 20)
      {
        if(m_bufferedData.contains(Command::playerlist))
        {
    //       qWarning() << "Playerlist requested; ID: " << m_id;
          emit playerlistRequested(m_id);
        }
        else if(m_bufferedData.contains(Command::ohsocketIdent))
        {
    //       m_ident = true;
          killSocketTimer();
        }
        else if(m_bufferedData.contains(Command::playerReady))
        {
          emit playerReady(m_id);
        }
        else
          emit dataAvailable(m_id);
      }
      else*/
    emit dataAvailable(m_id);
}
开发者ID:schdorm,项目名称:openhanse-project,代码行数:26,代码来源:serversocket.cpp


示例7: qDebug

void
SmugMug::WebService::_slotHttpRequestFinished (int id, bool error) {

    qDebug () << "Request Finished: " << id;

    if (error) {

        _logHttpError (QString ("Request Finished: %1").arg (id));
    }
    else {

        emit dataAvailable (_dataIn);

        bool err = false;

        QDomDocument doc;
        if (doc.setContent (_dataIn)) {

            QDomElement root = doc.documentElement();

            if (!_isResponseValid (root)) {

                err = true;
                _responseFailed (root);
            }

            _handleResponse (id, root, err);
        }

        emit actionFinished ();
        qDebug () << "actionFinished: " << id;
    }
}
开发者ID:shillcock,项目名称:smugup_old,代码行数:33,代码来源:WebService.cpp


示例8: reset

bool LabelToolPlugin::visualizeImgCb(label_tool_msgs::ImagesToLabel::Request &req,
                                     label_tool_msgs::ImagesToLabel::Response &res)
{
  reset();

  // copy data on class structure
  for(auto &img : req.images)
  {
    // convert to opencv mat
    cv_bridge::CvImagePtr cv_ptr;
    try
    {
      cv_ptr = cv_bridge::toCvCopy(img, img.encoding);
    }
    catch (cv_bridge::Exception& e)
    {
      ROS_ERROR("cv_bridge exception: %s", e.what());
      return false;
    }


    std::vector<cv::Point> polygon_edges;

    ImgWithPolygon img_with_poly_class;
    img_with_poly_class.img_ = cv_ptr->image;
    img_with_poly_class.polygon_edges_ = polygon_edges;
    img_with_polygons_.push_back(img_with_poly_class);
  }

  emit dataAvailable();
  return true;
}
开发者ID:jnitsch,项目名称:image_labeling_tool,代码行数:32,代码来源:label_tool_rqt_plugin.cpp


示例9: switch

void QmlProfilerModelManager::complete()
{
    switch (state()) {
    case QmlProfilerDataState::ProcessingData:
        setState(QmlProfilerDataState::Done);
        emit dataAvailable();
        break;
    case QmlProfilerDataState::AcquiringData:
        // If trace end time was not explicitly set, use the last event
        if (d->traceTime->endTime() == 0)
            d->traceTime->setEndTime(d->model->lastTimeMark());
        setState(QmlProfilerDataState::ProcessingData);
        d->model->complete();
        d->v8Model->complete();
        break;
    case QmlProfilerDataState::Empty:
        setState(QmlProfilerDataState::Done);
        break;
    case QmlProfilerDataState::Done:
        break;
    default:
        emit error(tr("Unexpected complete signal in data model."));
        break;
    }
}
开发者ID:darksylinc,项目名称:qt-creator,代码行数:25,代码来源:qmlprofilermodelmanager.cpp


示例10: millis

int MG2639_Cell::readWaitForResponses(const char * goodRsp, 
                                      const char * failRsp, unsigned int timeout)
{
	unsigned long timeIn = millis(); // Timestamp coming into function
	unsigned int received = 0; // received keeps track of number of chars read
	
	clearBuffer(); // Clear the class receive buffer (rxBuffer)
	while (timeIn + timeout > millis()) // While we haven't timed out
	{
		if (dataAvailable()) // If data is available on UART RX
		{
			// Increment received count & read byte to buffer
			received += readByteToBuffer();
			if (searchBuffer(goodRsp))
				return received; // If we've received [goodRsp], return received
			if (searchBuffer(failRsp)) // If we've received [failRsp]
				return ERROR_FAIL_RESPONSE; // return FAIL response error code
		}
	}
	
	if (received > 0) // If we received any characters
		return ERROR_UNKNOWN_RESPONSE;	// Return unkown response error code
	else // If we haven't received any characters
		return ERROR_TIMEOUT; // Return the timeout error code
}
开发者ID:elpapais,项目名称:MG2639_Cellular_Shield,代码行数:25,代码来源:SFE_MG2639_CellShield.cpp


示例11: Q_Q

bool QBluetoothSocketPrivate::setSocketDescriptor(const QAndroidJniObject &socket, QBluetoothServiceInfo::Protocol socketType_,
                         QBluetoothSocket::SocketState socketState, QBluetoothSocket::OpenMode openMode)
{
    Q_Q(QBluetoothSocket);

    if (q->state() != QBluetoothSocket::UnconnectedState || !socket.isValid())
        return false;

    if (!ensureNativeSocket(socketType_))
        return false;

    socketObject = socket;

    QAndroidJniEnvironment env;
    inputStream = socketObject.callObjectMethod("getInputStream", "()Ljava/io/InputStream;");
    outputStream = socketObject.callObjectMethod("getOutputStream", "()Ljava/io/OutputStream;");

    if (env->ExceptionCheck() || !inputStream.isValid() || !outputStream.isValid()) {
        env->ExceptionDescribe();
        env->ExceptionClear();

        //close socket again
        socketObject.callMethod<void>("close");
        if (env->ExceptionCheck()) {
            env->ExceptionDescribe();
            env->ExceptionClear();
        }

        socketObject = inputStream = outputStream = remoteDevice = QAndroidJniObject();


        errorString = QBluetoothSocket::tr("Obtaining streams for service failed");
        q->setSocketError(QBluetoothSocket::NetworkError);
        q->setSocketState(QBluetoothSocket::UnconnectedState);
        return false;
    }

    remoteDevice = socketObject.callObjectMethod("getRemoteDevice", "()Landroid/bluetooth/BluetoothDevice;");

    if (inputThread) {
        inputThread->deleteLater();
        inputThread = 0;
    }
    inputThread = new InputStreamThread(this);
    QObject::connect(inputThread, SIGNAL(dataAvailable()),
                     q, SIGNAL(readyRead()), Qt::QueuedConnection);
    QObject::connect(inputThread, SIGNAL(error(int)),
                     this, SLOT(inputThreadError(int)), Qt::QueuedConnection);
    inputThread->run();


    q->setSocketState(socketState);
    q->setOpenMode(openMode | QIODevice::Unbuffered);

    if (openMode == QBluetoothSocket::ConnectedState)
        emit q->connected();

    return true;
}
开发者ID:Drakey83,项目名称:steamlink-sdk,代码行数:59,代码来源:qbluetoothsocket_android.cpp


示例12: Q_ASSERT

bool SensorfwMagnetometer::doConnect()
{
    Q_ASSERT(m_sensorInterface);
    if (m_bufferSize==1)
        return QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(MagneticField)),
                                this, SLOT(slotDataAvailable(MagneticField)));
     return QObject::connect(m_sensorInterface, SIGNAL(frameAvailable(QVector<MagneticField>)),
                             this, SLOT(slotFrameAvailable(QVector<MagneticField>)));
}
开发者ID:venkatarajasekhar,项目名称:Qt,代码行数:9,代码来源:sensorfwmagnetometer.cpp


示例13: qDebug

void UDPServer::handleDataRequest(QString data)
{
    qDebug() << "UDPServer::handleDataRequest called with data:" << data;
    QString cmd = data.section(';',1,1).toLower();
    switch (COMMANDS.indexOf(cmd.section(' ',0,0)))
    {
    case 0: // Help command (help)
        qDebug() << "help command called";
        sendHelp();
        break;
    case 1: // List devices command (lsdvs)
        qDebug() << "List devices command called";
        sendDeviceList();
        break;
    case 2: // Select device command (sldvc)
        qDebug() << "Select device command called";
        selectDevice(cmd);
        break;
    case 3: // Deselect device command (dsdvc)
        qDebug() << "Deselect device command called";
        deselectDevice();
        break;
    case 4: // List buttons command (lsbts)
        qDebug() << "List buttons command called";
        listButtons();
        break;
    case 5: // Keymap command (kmap)
        qDebug() << "Keymap command called";
        mapKey(cmd);
        break;
    case 6: // Undo keymap command (umap)
        qDebug() << "Undo keymap command called";
        unmapKey(cmd);
        break;
    case 7: // Supported devices command (supdvs)
        qDebug() << "Supported devices command called";
        supportedDevices(cmd);
        break;
    case 8: // Axis Format Map (afmap)
        qDebug() << "Axis Format Map command called";
        axisFormatMap(cmd);
        break;
    case 9: // Axis Key Map (akmap)
        qDebug() << "Axis Key Map command called";
        axisKeyMap(cmd);
        break;
    default:
        qDebug() << "Command not recognised";
        QString reply = "10;";
        reply += "\'" + cmd.section(' ',0,0) + "\'";
        reply += " is not recognized as a command, use the \'help\' command for more information";
        sendDatagram(reply.toLatin1());
        break;
    }

    emit dataAvailable(data);
}
开发者ID:Master-Thesis,项目名称:Generic-Sensor-Interface-Server,代码行数:57,代码来源:udpserver.cpp


示例14: foreach

bool AccelerometerSensorChannelInterface::dataReceivedImpl()
{
    QVector<AccelerationData> values;
    if(!read<AccelerationData>(values))
        return false;
    if(!frameAvailableConnected || values.size() == 1)
    {
        foreach(const AccelerationData& data, values)
            emit dataAvailable(XYZ(data));
    }
开发者ID:special,项目名称:sensorfw,代码行数:10,代码来源:accelerometersensor_i.cpp


示例15: disconnect

void ONBinaryProtocol::Detach(bool keepBuffer)
{
    disconnect(this, SLOT(dataAvailable()));

    _device = nullptr;

    if (! keepBuffer) {
        _buffer.clear();
    }
}
开发者ID:u-foka,项目名称:on,代码行数:10,代码来源:onbinaryprotocol.cpp


示例16: while

bool DataLink::foundFrameStart()
{
	//const uint16_t MAX_BYTES_TO_INSPECT = maxFrameSize()*10;

	bool slipEscape = false;
	uint16_t inspected = 0;
	int c = 0;

	// TODO - Jordan: Break out into separate function?

	// Look for start character and break out when found
	while(true)
	{
		// Read enough characters for now, go do something else
		if(inspected >= 100)
		{
			return false;
		}

		inspected++;
		if(not dataAvailable())
		{
			//std::cout << "NOTHING AVAILABLE ;(" << std::endl;
			continue;
		}


		c = readByte();

		// No characters left to read
		if(c == -1)
		{
			return false;
		}

		if((uint8_t)c == SLIP_PACKET_START && not slipEscape)
		{				
			break;
		}

		if((uint8_t)c == SLIP_PACKET_ESCAPE)
		{				
			slipEscape = true;
		}
		else
		{				
			slipEscape = false;
		}

		//std::this_thread::sleep_for(std::chrono::milliseconds(2));
	}

	return true;

}
开发者ID:AlandSailingRobots,项目名称:sailingrobot,代码行数:55,代码来源:DataLink.cpp


示例17: while

void eHTTPStream::haveData(void *vdata, int len)
{
	__u8 *data=(__u8*)vdata;
	
	while (len)
	{
		int valid=len;
		if (!metadataleft)
		{
				// not in metadata mode.. process mp3 data (stream to input buffer)

				// are we just at the beginning of metadata? (pointer)
			if (metadatainterval && (metadatainterval == bytes))
			{
						// enable metadata mode
				metadataleft=*data++*16;
				metadatapointer=0;
				len--;
				bytes=0;
				continue;
			} else if (metadatainterval && (metadatainterval < bytes))
				eFatal("metadatainterval < bytes");

				// otherwise there's really data.
			if (metadatainterval)
			{
					// is metadata in our buffer?
				if ((valid + bytes) > metadatainterval)
					valid=metadatainterval-bytes;
			}
			buffer.write(data, valid);
			data+=valid;
			len-=valid;
			bytes+=valid;
		} else
		{
				// metadata ... process it.
			int meta=len;
			if (meta > metadataleft)
				meta=metadataleft;

			memcpy(metadata+metadatapointer, data, meta);

			metadatapointer+=meta;
			data+=meta;
			len-=meta;
			metadataleft-=meta;
			
			if (!metadataleft)
				processMetaData();
		}
	}
	dataAvailable();
}
开发者ID:TitanNit,项目名称:tdt,代码行数:54,代码来源:servicemp3.cpp


示例18: main

void main(void)
{
	/* Configure the oscillator for the device */
	ConfigureOscillator();



	/* Initialize I/O and Peripherals for application */
	 InitApp();

	W5200_nRESET = 0;
	__delay_us(5);
	W5200_nRESET = 1;
	__delay_ms(50);
	__delay_ms(50);
	__delay_ms(50);
	__delay_ms(50);
	
	/* Initialize application settings */
	InitSettings();
	
	/* Initialize TCP server */
	initServer(&macAddress, &gateway, &netmask);
	startServer(&localEndpoint);

        LED = 1;

    while(1)
    {
		if(clientConnected())
		{
			if(dataAvailable())
			{
				uint16_t length = getReceivedLength();
				if(length > MAX_BUFFER)
				{
					// Limit maximum buffer size to avoid ram saturation due to packet flooding, a normal communication is shorter anyway
					length = MAX_BUFFER;
				}
				
				uint8_t buffer[MAX_BUFFER];
				getReceivedData(buffer, length);
				
				parseCommand(buffer[0], buffer, length);
				
				stopServer();
				startServer(&localEndpoint);
			}
			checkClientDisconnection();
		}		
    }

}
开发者ID:snow4life,项目名称:PicHomeAutomation,代码行数:53,代码来源:main.c


示例19: recv

  ConnectionError ConnectionTCPClient::recv( int timeout )
  {
    m_recvMutex.lock();

    if( m_cancel || m_socket < 0 )
    {
      m_recvMutex.unlock();
      return ConnNotConnected;
    }

    if( !dataAvailable( timeout ) )
    {
      m_recvMutex.unlock();
      return ConnNoError;
    }

    int size = static_cast<int>( ::recv( m_socket, m_buf, m_bufsize, 0 ) );
    if( size > 0 )
      m_totalBytesIn += size;

    m_recvMutex.unlock();

    if( size <= 0 )
    {
      if( size == -1 )
      {
        // recv() failed for an unexpected reason
        std::string message = "recv() failed. "
#if defined( _WIN32 ) && !defined( __SYMBIAN32__ )
          "WSAGetLastError: " + util::int2string( ::WSAGetLastError() );
#else
          "errno: " + util::int2string( errno ) + ": " + strerror( errno );
#endif
        m_logInstance.err( LogAreaClassConnectionTCPClient, message );
      }

      ConnectionError error = ( size ? ConnIoError : ConnStreamClosed );
      if( m_handler )
        m_handler->handleDisconnect( this, error );
      return error;
    }

    m_buf[size] = '\0';
    
    // KEVIN
    printf("RECV: %d\n", size);

    if( m_handler )
      m_handler->handleReceivedData( this, std::string( m_buf, size ) );

    return ConnNoError;
  }
开发者ID:angrykevin,项目名称:Teemo,代码行数:52,代码来源:connectiontcpclient.cpp


示例20: while

void AudioSourceOss::read()
{
    struct audio_oss_internal *oss =
            (struct audio_oss_internal *)internal_data;
    unsigned char buf[BUF_SIZE];
    unsigned char* buffer = buf;
    int got = 0;
    while ( got < BUF_SIZE ) {
        int r = ::read(oss->fd, buffer+got, BUF_SIZE-got);
        got += r;
    }
    emit dataAvailable( (short*)buf, BUF_SIZE/2 );
}
开发者ID:fatal,项目名称:lametus,代码行数:13,代码来源:audiosource_oss.cpp



注:本文中的dataAvailable函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ dataChanged函数代码示例发布时间:2022-05-30
下一篇:
C++ data2函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap