HxUtils/HxBroadcast.h
hehaoyang b8cd983825 1, 删除 HxSql HxLog 扩展库
2. HxBroadcase 扩展库增加发送广播JSON消息扩展方法
3. HxTask扩展库任务ID修改为字符串
4. HxTrace扩展库修改输出格式
5. 取消再linux下生成 debug和release模式的选择
2024-02-01 01:03:55 +08:00

59 lines
1.2 KiB
C++

#ifndef HXBROADCAST_H
#define HXBROADCAST_H
#include <QObject>
#include <QUdpSocket>
class HxBroadcast : public QObject
{
Q_OBJECT
public:
static HxBroadcast* context();
/**
* @brief 初始化
*
* @param port 广播端口
*/
static void initialization(int port);
/**
* @brief 发布消息
*
* @param message 消息
*/
static void publish(QString message);
/**
* @brief 发布消息 (JSON格式)
*
* @param action_type 操作类型
* @param args msgInfo 参数
*/
static void publish_json(int action_type, QJsonObject msgInfo);
/**
* @brief 发布消息 (JSON格式)
*
* @param action_type 操作类型
* @param args msgInfo 参数
*/
static void publish_json(int action_type, std::initializer_list<QPair<QString, QJsonValue>> args = std::initializer_list<QPair<QString, QJsonValue>>());
private:
void publish_achieve(QString message);
signals:
void publish_event(QString message);
void receive_event(QByteArray data);
private slots:
void receive_ready_read();
private:
int port;
QUdpSocket *socket;
};
#endif // HXBROADCAST_H