#ifndef GROUPRPC_H#define GROUPRPC_H#include <QObject>#include <QUdpSocket>#include <QJsonDocument>#include <QMap>#include <QList>#include <QTimer>#include "JsonRPCClient.h"class GroupRequest : public QObject{Q_OBJECTpublic:friend class GroupRPC;explicit GroupRequest(QObject *parent = 0);uint seq;QVariant ret;private:static uint nextSeq;signals:void respond();public slots:};class GroupRPC : public QObject{Q_OBJECTpublic:explicit GroupRPC(QObject *parent = 0);bool init(int p=5432);void addMethod(QString name, QObject* obj, const char* method);QVariant call(QString method,QString to,QVariant data=QVariant(),bool noRespond=false);void setGroupId(int gid);int getGroupId();QHostAddress getFromIp();QHostAddress getLocalIp();QString getFromMac();QString getLoaclMac();private:QVariant callbak(QVariantMap msg);void send(QVariantMap &msg);private:JsonRPCClient *netRpcClient;QMap<QString,QObject*> objectMap;QMap<QString, const char*> methodMap;QList<GroupRequest*> requestList;QTimer netTimer;QString lastEth;QString localMac;QHostAddress localIp;QUdpSocket socket;QHostAddress fromIp;QString fromMac;int timeout;int port;int groupId;signals:public slots:void onRead();void updateNet();};#endif // GROUPRPC_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。