1 // Copyright (c) 2016 The SigViewer Development Team
2 // Licensed under the GNU General Public License (GPL)
3 // https://www.gnu.org/licenses/gpl
4 
5 
6 #ifndef BIOSIG_BASIC_HEADER_H
7 #define BIOSIG_BASIC_HEADER_H
8 
9 #include "file_handling/basic_header.h"
10 #include "biosig.h"
11 
12 namespace sigviewer
13 {
14 
15 class BiosigBasicHeader : public BasicHeader
16 {
17 public:
18     //-------------------------------------------------------------------------
19     BiosigBasicHeader (HDRTYPE* raw_header, QString const& file_path);
20 
21     //!Alternative constructor for XDF-----------------------------------------
22     BiosigBasicHeader (QString file_format, QString const& file_path);
23 
24     //-------------------------------------------------------------------------
25     virtual size_t getNumberOfSamples () const;
26 
27     //-------------------------------------------------------------------------
28     virtual QMap<unsigned, QString> getNamesOfUserSpecificEvents () const;
29 
30 private:
31     //-------------------------------------------------------------------------
32     void readChannelsInfo (HDRTYPE const* raw_header);
33 
34     //!alternative functions for XDF-------------------------------------------
35     void readChannelsInfo (QString file_format);
36 
37     //-------------------------------------------------------------------------
38     void readPatientInfo (HDRTYPE const* raw_header);
39 
40     //-------------------------------------------------------------------------
41     void readRecordingInfo (HDRTYPE const* raw_header);
42 
43 
44 
45 
46     unsigned number_samples_;
47     QMap<unsigned, QString> user_defined_event_map_;
48     QMap<unsigned, QSharedPointer<SignalChannel> > channels_;
49 };
50 
51 }
52 
53 #endif // BIOSIG_BASIC_HEADER_H
54