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 //=========================================================================================================
116
117 //=========================================================================================================
123 bool getConnectionStatus();
124
125 //=========================================================================================================
131 virtual bool stop();
132
133protected:
134 //=========================================================================================================
140 virtual void run();
141
142private:
143 QMutex mutex;
144 bool m_bIsConnected;
145 bool m_bIsMeasuring;
146 bool m_bIsRunning;
147 QString m_sClientAlias;
148 QString m_sRtServerHostName;
149 FIFFLIB::FiffInfo::SPtr m_pFiffInfo;
150 quint16 m_iDefaultPort;
151signals:
152 //=========================================================================================================
158 void rawBufferReceived(Eigen::MatrixXf p_rawBuffer);
159
160 //=========================================================================================================
166 void connectionChanged(bool p_bStatus);
167};
168
169//=============================================================================================================
170// INLINE DEFINITIONS
171//=============================================================================================================
172
174{
175 return m_pFiffInfo;
176}
177} // NAMESPACE
178
179#ifndef metatype_matrixxf
180#define metatype_matrixxf
181Q_DECLARE_METATYPE(Eigen::MatrixXf);
182#endif
183
184#endif // RTCLIENT_H
Export macros, build-info entry points and namespace anchor for the COMLIB communication library.
#define COMSHARED_EXPORT
Definition com_global.h:53
Q_DECLARE_METATYPE(Eigen::MatrixXf)
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:173
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:90