#ifndef PBGLOBALOBJECT_H #define PBGLOBALOBJECT_H #include #include #include using namespace std; //支持的PLC通信协议类型 enum class PLC_MODULE_TYPE { FinsTcp, ModbusTcp, McAsciiTcp, McA1ETcp, McBinaryTcp, PanasonicMC, InovanceH5UTcp, Count,//总数,加协议类型须在前面添加 }; class PbGlobalObject : public QObject { Q_OBJECT public: explicit PbGlobalObject(int settype, QObject* parent = nullptr) : QObject(parent), type1(settype) {} virtual ~PbGlobalObject() {} virtual bool setParameter(const QMap &) { return true; } virtual QMap parameters() = 0; virtual bool init() { return true; } virtual bool setData(const vector &, const QStringList &) { return true; } virtual bool data(std::vector &, QStringList &) { return true; } public: //大类 enum PGOFAMLIY { GLOBALVARIABLE = 0, CAMERA2D, CAMERA2_5D, CAMERA3D, PLC, COM }famliy; //小类 int type1 = -1; //对应哪个品牌相机(触发方式)/通信 int type2 = -1; int type3 = -1; QString name = ""; int id; signals: void trigged(bool); private: }; #endif // PBGLOBALOBJECT_H