00001 #ifndef BBOB_INTERFACES_H
00002 #define BBOB_INTERFACES_H
00003
00004 #include <QStringList>
00005 #include <QMap>
00006 #include <QString>
00007 #include <QDockWidget>
00008
00009 #include "bcore.h"
00010
00011
00012
00013
00014
00015
00016 class CoreInterface
00017 {
00018 public:
00019 virtual ~CoreInterface() {}
00020
00021
00022 virtual void CoreInit(const BCore* core) = 0;
00023
00024
00025 virtual void SaveSettings() = 0;
00026
00027
00028 virtual void Module(const QString name, const QStringList params) = 0;
00029
00030
00031 virtual QStringList ModuleList() const = 0;
00032
00033
00034 virtual BBoB_Channel* ChannelPointer(const QString mod, const QString input) const = 0;
00035
00036
00037 virtual BBoB_Module* ModulePointer(const QString mod) const = 0;
00038
00039
00040 virtual QMap<QString, QString> ModuleParams(const QString name) const = 0;
00041
00042
00043 virtual QMap<QString, QString> ModuleInputs(const QString name) const = 0;
00044 virtual QMap<QString, QString> ModuleOutputs(const QString name) const = 0;
00045 };
00046
00047
00048
00049
00050 class DisplayInterface
00051 {
00052 public:
00053 virtual ~DisplayInterface() {}
00054
00055
00056 virtual QStringList commands() const = 0;
00057
00058
00059 virtual QDockWidget* getDock(const QString &command) = 0;
00060
00061
00062 virtual QWidget* getConfig() = 0;
00063
00064 };
00065
00066
00067
00068 class MessageBusInterface
00069 {
00070 public:
00071 virtual ~MessageBusInterface() {}
00072
00073
00074 virtual bool loadBus(const int ID) = 0;
00075 virtual QString BusName() = 0;
00076
00077
00078 virtual void BitBus(const int FromID, const int bit ) = 0;
00079 virtual void ByteBus(const int FromID, const int byte ) = 0;
00080 virtual void StringBus(const int FromID, const QString str ) = 0;
00081
00082 };
00083
00084
00085
00086 Q_DECLARE_INTERFACE(CoreInterface,
00087 "net.chuktech.BBoB.CoreInterface/1.0")
00088
00089 Q_DECLARE_INTERFACE(DisplayInterface,
00090 "net.chuktech.BBoB.DisplayInterface/1.0")
00091
00092 Q_DECLARE_INTERFACE(MessageBusInterface,
00093 "net.chuktech.BBoB.MessageBusInterface/1.0")
00094 #endif
00095