00001 00004 #ifndef BPSRFIDPLUGIN_H 00005 #define BPSRFIDPLUGIN_H 00006 00007 #include "bpsgui_global.h" 00008 #include <QtPlugin> 00009 #include <QMap> 00010 00011 class BpsDatastore; 00012 class BpsConfigWidget; 00013 class BpsRfid; 00014 class BpsRfidEditWidget; 00015 class BpsSettings; 00016 00021 class BPSGUI_EXPORT BpsRfidPlugin 00022 { 00023 public: 00027 virtual ~BpsRfidPlugin() {}; 00028 00032 virtual QString rfidId() const = 0; 00033 00037 virtual QString rfidName() const = 0; 00038 00044 virtual bool check(BpsDatastore* aDatastore) const = 0; 00045 00053 virtual BpsConfigWidget* createConfigWidget(BpsDatastore* aDatastore, QWidget* aParent = 0) const = 0; 00054 00061 virtual BpsRfid* createRfid(BpsDatastore* aDatastore, QObject* aParent = 0) const = 0; 00062 00068 static QList<BpsRfidPlugin*> plugins(BpsDatastore* aDatastore); 00069 00076 static BpsRfidPlugin* plugin(BpsDatastore* aDatastore, const QString& aId); 00077 }; 00078 00079 Q_DECLARE_INTERFACE(BpsRfidPlugin, "com.ibk-software.BPS2.BpsRfidPlugin/1.0") 00080 00081 #endif // BPSRFIDPLUGIN_H