50 using namespace MneRtClientPlugin;
59 : m_pMneRtClient(p_pMneRtClient)
61 , m_bDataClientIsConnected(false)
63 , m_bFlagInfoRequest(false)
64 , m_bFlagMeasuring(false)
81 if(m_pRtDataClient.isNull())
82 m_pRtDataClient = QSharedPointer<RtDataClient>(
new RtDataClient);
83 else if(m_bDataClientIsConnected)
86 m_pRtDataClient->connectToHost(p_sRtSeverIP);
87 m_pRtDataClient->waitForConnected(1000);
89 if(m_pRtDataClient->state() == QTcpSocket::ConnectedState)
92 if(!m_bDataClientIsConnected)
97 m_iDataClientId = m_pRtDataClient->getClientId();
102 m_pRtDataClient->setClientAlias(m_pMneRtClient->m_sMneRtClientClientAlias);
107 m_bDataClientIsConnected =
true;
110 producerMutex.unlock();
119 if(m_bDataClientIsConnected)
121 m_pRtDataClient->disconnectFromHost();
122 m_pRtDataClient->waitForDisconnected();
123 producerMutex.lock();
124 m_iDataClientId = -1;
125 m_bDataClientIsConnected =
false;
126 producerMutex.unlock();
136 m_bIsRunning =
false;
137 QThread::terminate();
151 while(m_pRtDataClient->state() != QTcpSocket::ConnectedState)
164 MatrixXf t_matRawBuffer;
173 if(m_bFlagInfoRequest)
175 m_pMneRtClient->rtServerMutex.lock();
176 m_pMneRtClient->m_pFiffInfo = m_pRtDataClient->readInfo();
178 m_pMneRtClient->rtServerMutex.unlock();
180 producerMutex.lock();
181 m_bFlagInfoRequest =
false;
182 producerMutex.unlock();
205 m_pRtDataClient->readRawBuffer(m_pMneRtClient->m_pFiffInfo->nchan, t_matRawBuffer, kind);
209 to += t_matRawBuffer.cols();
211 from += t_matRawBuffer.cols();
213 m_pMneRtClient->m_pRawMatrixBuffer_In->push(&t_matRawBuffer);
216 m_bFlagMeasuring =
false;
void connectDataClient(QString p_sRtSeverIP)
MneRtClientProducer(MneRtClient *p_pMneRtClient)
void disconnectDataClient()
The MneRtClient class provides a RT server connection.
Contains the declaration of the RTServerProducer class.
Contains the declaration of the MneRtClient class.
void dataConnectionChanged(bool p_bStatus)