MNE-CPP  0.1.9
A Framework for Electrophysiology
rtdataclient.h
Go to the documentation of this file.
1 //=============================================================================================================
37 #ifndef RTDATACLIENT_H
38 #define RTDATACLIENT_H
39 
40 //=============================================================================================================
41 // INCLUDES
42 //=============================================================================================================
43 
44 #include "../communication_global.h"
45 
46 #include <fiff/fiff_stream.h>
47 #include <fiff/fiff_info.h>
48 #include <fiff/fiff_tag.h>
50 
51 #include <utility>
52 
53 //=============================================================================================================
54 // QT INCLUDES
55 //=============================================================================================================
56 
57 #include <QSharedPointer>
58 #include <QString>
59 #include <QTcpSocket>
60 
61 //=============================================================================================================
62 // DEFINE NAMESPACE COMMUNICATIONLIB
63 //=============================================================================================================
64 
65 namespace COMMUNICATIONLIB
66 {
67 
68 //=============================================================================================================
72 struct MetaData{
74  FIFFLIB::FiffDigitizerData::SPtr pDigitizerData)
75  :m_pInfo(pInfo)
76  ,m_pDigitizerData(pDigitizerData){};
77 
79  FIFFLIB::FiffDigitizerData::SPtr m_pDigitizerData;
80 };
81 
82 //=============================================================================================================
88 class COMMUNICATIONSHARED_EXPORT RtDataClient : public QTcpSocket
89 {
90  Q_OBJECT
91 
92 public:
93  typedef QSharedPointer<RtDataClient> SPtr;
94  typedef QSharedPointer<const RtDataClient> ConstSPtr;
96  //=========================================================================================================
102  explicit RtDataClient(QObject *parent = Q_NULLPTR);
103 
104  //=========================================================================================================
110  virtual void disconnectFromHost();
111 
112  //=========================================================================================================
118  qint32 getClientId();
119 
120  //=========================================================================================================
126  FIFFLIB::FiffInfo::SPtr readInfo();
127 
128  //=========================================================================================================
134  MetaData readMetadata();
135 
136  //=========================================================================================================
144  void readRawBuffer(qint32 p_nChannels,
145  Eigen::MatrixXf& data,
146  FIFFLIB::fiff_int_t& kind);
147 
148  //=========================================================================================================
154  void setClientAlias(const QString &p_sAlias);
155 
156 private:
157  qint32 m_clientID;
159 };
160 } // NAMESPACE
161 
162 #endif // RTDATACLIENT_H
QSharedPointer< FiffInfo > SPtr
Definition: fiff_info.h:87
QSharedPointer< FiffDigitizerData > SPtr
Real-time data client.
Definition: rtdataclient.h:88
FiffStream class declaration.
QSharedPointer< const RtDataClient > ConstSPtr
Definition: rtdataclient.h:94
#define COMMUNICATIONSHARED_EXPORT
FiffDigitizerData class declaration.
FiffTag class declaration, which provides fiff tag I/O and processing methods.
QSharedPointer< RtDataClient > SPtr
Definition: rtdataclient.h:93
FiffInfo class declaration.