v2.0.0
Loading...
Searching...
No Matches
rt_client.h
Go to the documentation of this file.
1//=============================================================================================================
37
38#ifndef RTCLIENT_H
39#define RTCLIENT_H
40
41//=============================================================================================================
42// INCLUDES
43//=============================================================================================================
44
45#include "../com_global.h"
46
47#include <fiff/fiff_info.h>
48
49//=============================================================================================================
50// QT INCLUDES
51//=============================================================================================================
52
53#include <QMutex>
54#include <QSharedPointer>
55#include <QString>
56#include <QThread>
57
58//=============================================================================================================
59// EIGEN INCLUDES
60//=============================================================================================================
61
62#include <Eigen/Core>
63
64//=============================================================================================================
65// DEFINE NAMESPACE COMLIB
66//=============================================================================================================
67
68namespace COMLIB
69{
70
71//=============================================================================================================
72// FORWARD DECLARATIONS
73//=============================================================================================================
74
75//=============================================================================================================
87class COMSHARED_EXPORT RtClient : public QThread
88{
89 Q_OBJECT
90
91public:
92 typedef QSharedPointer<RtClient> SPtr;
93 typedef QSharedPointer<const RtClient> ConstSPtr;
94
95 //=========================================================================================================
103 explicit RtClient(QString p_sRtServerHostname, QString p_sClientAlias = "rtclient", QObject* parent = 0);
104
105 //=========================================================================================================
109 ~RtClient();
110
111 //=========================================================================================================
118
119 //=========================================================================================================
125 bool getConnectionStatus();
126
127 //=========================================================================================================
133 virtual bool stop();
134
135protected:
136 //=========================================================================================================
142 virtual void run();
143
144private:
145 QMutex mutex;
146 bool m_bIsConnected;
147 bool m_bIsMeasuring;
148 bool m_bIsRunning;
149 QString m_sClientAlias;
150 QString m_sRtServerHostName;
151 FIFFLIB::FiffInfo::SPtr m_pFiffInfo;
152 quint16 m_iDefaultPort;
153signals:
154 //=========================================================================================================
160 void rawBufferReceived(Eigen::MatrixXf p_rawBuffer);
161
162 //=========================================================================================================
168 void connectionChanged(bool p_bStatus);
169};
170
171//=============================================================================================================
172// INLINE DEFINITIONS
173//=============================================================================================================
174
176{
177 return m_pFiffInfo;
178}
179} // NAMESPACE
180
181#ifndef metatype_matrixxf
182#define metatype_matrixxf
183Q_DECLARE_METATYPE(Eigen::MatrixXf);
184#endif
185
186#endif // RTCLIENT_H
Q_DECLARE_METATYPE(Eigen::MatrixXf)
Export macros, build-info entry points and namespace anchor for the COMLIB communication library.
#define COMSHARED_EXPORT
Definition com_global.h:53
Full FIFF measurement metadata: everything from FIFFB_MEAS / FIFFB_MEAS_INFO needed to interpret a re...
Real-time client/server communication primitives for talking to mne_rt_server.
bool getConnectionStatus()
Definition rt_client.cpp:61
void connectionChanged(bool p_bStatus)
virtual void run()
Definition rt_client.cpp:78
RtClient(QString p_sRtServerHostname, QString p_sClientAlias="rtclient", QObject *parent=0)
Definition rt_client.cpp:41
FIFFLIB::FiffInfo::SPtr & getFiffInfo()
Definition rt_client.h:175
virtual bool stop()
Definition rt_client.cpp:68
void rawBufferReceived(Eigen::MatrixXf p_rawBuffer)
QSharedPointer< const RtClient > ConstSPtr
Definition rt_client.h:93
QSharedPointer< RtClient > SPtr
Definition rt_client.h:92
QSharedPointer< FiffInfo > SPtr
Definition fiff_info.h:92