Exemplo n.º 1
0
void ViBufferStream::insert(qint64 position, const char *data, int length)
{
    QMutexLocker streamLocker(&mStreamMutex);
    mBuffer->insert(position, data, length);
    streamLocker.unlock();
    inserted(position, length);
}
Exemplo n.º 2
0
int ViBufferStream::read(char *data, int length)
{
    QMutexLocker streamLocker(&mStreamMutex);
    QMutexLocker bufferLocker(mBufferMutex);
    length = mDevice->read(data, length);
    return length;
}
Exemplo n.º 3
0
void ViBufferStream::insert(qint64 position, const ViBufferChunk &chunk)
{
    QMutexLocker streamLocker(&mStreamMutex);
    mBuffer->insert(position, chunk);
    streamLocker.unlock();
    inserted(position, chunk.size());
}
Exemplo n.º 4
0
int ViBufferStream::write(const char *data, int length)
{
    QMutexLocker streamLocker(&mStreamMutex);
    QMutexLocker bufferLocker(mBufferMutex);
    int written = mDevice->write(data, length);
    bufferLocker.unlock();
    mBuffer->change();
    return written;
}
Exemplo n.º 5
0
void ViBufferStream::remove(qint64 position, int length)
{
    QMutexLocker streamLocker(&mStreamMutex);
    if(mBuffer->remove(position, length))
    {
        streamLocker.unlock();
        removed(position, length);
    }
}
Exemplo n.º 6
0
XnStatus XnServerSession::OnPropertyChanged(const XnProperty* pProp)
{
	XnStatus nRetVal = XN_STATUS_OK;
	
	XnAutoCSLocker streamLocker(m_hStreamsLock);

	SessionStream* pStream = NULL;
	nRetVal = FindStreamByServerName(pProp->GetModule(), &pStream);
	XN_IS_STATUS_OK(nRetVal);

	// send message
	m_pLogger->DumpMessage("PropChange", 0, m_nID, pProp->GetName());

	XnAutoCSLocker commLocker(m_hCommLock);
	switch (pProp->GetType())
	{
	case XN_PROPERTY_TYPE_INTEGER:
		{
			XnActualIntProperty* pActualProp = (XnActualIntProperty*)pProp;
			nRetVal = m_privateOutgoingPacker.WriteProperty(pStream->strClientStreamName, pProp->GetName(), pActualProp->GetValue());
			XN_IS_STATUS_OK(nRetVal);
			break;
		}
	case XN_PROPERTY_TYPE_REAL:
		{
			XnActualRealProperty* pActualProp = (XnActualRealProperty*)pProp;
			nRetVal = m_privateOutgoingPacker.WriteProperty(pStream->strClientStreamName, pProp->GetName(), pActualProp->GetValue());
			XN_IS_STATUS_OK(nRetVal);
			break;
		}
	case XN_PROPERTY_TYPE_STRING:
		{
			XnActualStringProperty* pActualProp = (XnActualStringProperty*)pProp;
			nRetVal = m_privateOutgoingPacker.WriteProperty(pStream->strClientStreamName, pProp->GetName(), pActualProp->GetValue());
			XN_IS_STATUS_OK(nRetVal);
			break;
		}
	case XN_PROPERTY_TYPE_GENERAL:
		{
			XnActualGeneralProperty* pActualProp = (XnActualGeneralProperty*)pProp;
			nRetVal = m_privateOutgoingPacker.WriteProperty(pStream->strClientStreamName, pProp->GetName(), pActualProp->GetValue());
			XN_IS_STATUS_OK(nRetVal);
			break;
		}
	default:
		XN_LOG_WARNING_RETURN(XN_STATUS_ERROR, XN_MASK_SENSOR_SERVER, "Unknown property type: %d", pProp->GetType());
	}

	return (XN_STATUS_OK);
}
Exemplo n.º 7
0
ViBuffer* ViBufferStream::buffer()
{
    QMutexLocker streamLocker(&mStreamMutex);
    return mBuffer;
}
Exemplo n.º 8
0
bool ViBufferStream::atEnd()
{
    QMutexLocker streamLocker(&mStreamMutex);
    return mDevice->pos() >= (mBuffer->size() - 1);
}
Exemplo n.º 9
0
bool ViBufferStream::setPosition(qint64 position)
{
    QMutexLocker streamLocker(&mStreamMutex);
    return mDevice->seek(position);
}
Exemplo n.º 10
0
qint64 ViBufferStream::position()
{
    QMutexLocker streamLocker(&mStreamMutex);
    return mDevice->pos();
}
Exemplo n.º 11
0
int ViBufferStream::size()
{
    QMutexLocker streamLocker(&mStreamMutex);
    return mBuffer->size();
}