SIde-Channel Analysis toolKit (SICAK)
Software toolkit for side-channel analysis
measurement.h
Go to the documentation of this file.
1 /*
2 * SICAK - SIde-Channel Analysis toolKit
3 * Copyright (C) 2018 Petr Socha, FIT, CTU in Prague
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <https://www.gnu.org/licenses/>.
17 */
18 
29 #ifndef MEASUREMENT_H
30 #define MEASUREMENT_H
31 
32 #include <QString>
33 #include "oscilloscope.h"
34 #include "chardevice.h"
35 
43 class Measurement {
44 
45 public:
46 
47  virtual ~Measurement() {}
48 
50  virtual QString getPluginName() = 0;
52  virtual QString getPluginInfo() = 0;
53 
55  virtual void init(const char * param) = 0;
57  virtual void deInit() = 0;
58 
60  virtual void run(const char * measurementId, size_t measurements, Oscilloscope * oscilloscope, CharDevice * charDevice) = 0;
61 
62 };
63 
64 #define Measurement_iid "cz.cvut.fit.Sicak.MeasurementInterface/1.0"
65 
66 Q_DECLARE_INTERFACE(Measurement, Measurement_iid)
67 
68 
69 #endif /* MEASUREMENT_H */
Character device QT plugin interface.
Definition: chardevice.h:42
Measurement scenario QT plugin interface.
Definition: measurement.h:43
virtual void run(const char *measurementId, size_t measurements, Oscilloscope *oscilloscope, CharDevice *charDevice)=0
Run the measurement scenario, given either initialized and configured oscilloscope/charDevice pointer...
Character device plugin interface for use e.g. in meas.
Oscilloscope plugin interface for use e.g. in meas.
virtual QString getPluginName()=0
Plugin name.
virtual QString getPluginInfo()=0
Plugin info.
virtual void init(const char *param)=0
Initialize the plugin.
Oscilloscope QT plugin interface.
Definition: oscilloscope.h:42
virtual void deInit()=0
Deinitialize the plugin.