BPS C++ API  2.24.4
bpssignalsplugin.h
Go to the documentation of this file.
1 
4 #ifndef BPSSIGNALSPLUGIN_H
5 #define BPSSIGNALSPLUGIN_H
6 
7 #include "bpsgui_global.h"
8 #include <QtPlugin>
9 #include <QMap>
10 
11 class BpsDatastore;
12 class BpsConfigWidget;
13 class BpsSignals;
14 class BpsSignalsEditWidget;
15 class BpsSettings;
16 
22 {
23 public:
27  virtual ~BpsSignalsPlugin() {};
28 
32  virtual QString signalsId() const = 0;
33 
37  virtual QString signalsName() const = 0;
38 
44  virtual bool check(BpsDatastore* aDatastore) const = 0;
45 
53  virtual BpsConfigWidget* createConfigWidget(BpsDatastore* aDatastore, QWidget* aParent = nullptr) const = 0;
54 
61  virtual BpsSignals* createSignals(BpsDatastore* aDatastore, QObject* aParent = nullptr) const = 0;
62 
69 
76  static BpsSignalsPlugin* plugin(BpsDatastore* aDatastore, const QString& aId);
77 };
78 
82 #define BpsSignalsPlugin_IID "com.ibk-software.BPS2.BpsSignalsPlugin/1.0"
83 
84 Q_DECLARE_INTERFACE(BpsSignalsPlugin, BpsSignalsPlugin_IID)
85 
86 #endif // BPSSIGNALSPLUGIN_H
Public include file for BPS GUI library macros.
#define BPSGUI_EXPORT
Declare class an import from the shared library.
Definition: bpsgui_global.h:22
Abstract configuration widget.
Definition: bpsconfigwidget.h:16
BPS datastore class.
Definition: bpsdatastore.h:61
Query and edit settings.
Definition: bpssettings.h:17
Signals interface.
Definition: bpssignals.h:24
Virtual class for signals plugin of BPS Workplace.
Definition: bpssignalsplugin.h:22
static BpsSignalsPlugin * plugin(BpsDatastore *aDatastore, const QString &aId)
Find the available signals plugin with the given ID.
virtual BpsSignals * createSignals(BpsDatastore *aDatastore, QObject *aParent=nullptr) const =0
Create a signals object and return a pointer to it.
#define BpsSignalsPlugin_IID
IID of the plugin.
Definition: bpssignalsplugin.h:82
virtual QString signalsId() const =0
virtual ~BpsSignalsPlugin()
Virtual destructor.
Definition: bpssignalsplugin.h:27
virtual BpsConfigWidget * createConfigWidget(BpsDatastore *aDatastore, QWidget *aParent=nullptr) const =0
Create the config widget and return a pointer to it.
virtual bool check(BpsDatastore *aDatastore) const =0
Check if plugin is available for usage, e.g.
static QList< BpsSignalsPlugin * > plugins(BpsDatastore *aDatastore)
Get list of all signals plugins available for usage.
virtual QString signalsName() const =0