COMPASSi/trunk/code/inc/Application/MessageHandle.h

29 lines
802 B
C++

#ifndef MessageHandle_H
#define MessageHandle_H
//#include <functional>
#include "Singleton.h"
#include <QString>
#include <QMap>
#include <QObject>
class ccsMessageHandle : public QObject {
Q_OBJECT
SINGLETON(ccsMessageHandle)
public:
void register_callback(const std::function<void(QString)> &func, const int &functionID);
void unregister_callback(const int &functionID);
QString createMsg(int cmd, int errorCode, const QString &msg, QString data="");
void qt2web(int cmd, int errorCode, QString msg = "", QString data = "");
public slots:
void web2qt(const int &cmd, const QString &data = "");
signals:
void qt2web(const int &cmd, const QString &data = "");
private:
QMap<int, std::function<void(QString)>> m_cmd2func;
};
#endif // MessageHandle_H