diff --git a/src/abstractreader.h b/src/abstractreader.h --- a/src/abstractreader.h +++ b/src/abstractreader.h @@ -26,6 +26,7 @@ #include #include "channelmanager.h" +#include "datarecorder.h" /** * All reader classes must inherit this class. @@ -34,7 +35,10 @@ class AbstractReader : public QObject { Q_OBJECT public: - explicit AbstractReader(QIODevice* device, ChannelManager* channelMan, QObject *parent = 0); + explicit AbstractReader(QIODevice* device, ChannelManager* channelMan, + DataRecorder* recorder, QObject* parent = 0); + + bool recording; /// is recording started /** * Returns a widget to be shown in data format panel when reader @@ -54,6 +58,16 @@ public: /// 'disabled'. virtual void enable(bool enabled = true) = 0; + /** + * @brief Starts sending data to recorder. + * + * @note recorder must have been started! + */ + void startRecording(); + + /// Stops recording. + void stopRecording(); + signals: void numOfChannelsChanged(unsigned); void samplesPerSecondChanged(unsigned); @@ -75,9 +89,12 @@ protected: private: const int SPS_UPDATE_TIMEOUT = 1; // second - ChannelManager* _channelMan; + unsigned sampleCount; unsigned samplesPerSecond; + + ChannelManager* _channelMan; + DataRecorder* _recorder; QTimer spsTimer; private slots: