hehaoyang
b8cd983825
2. HxBroadcase 扩展库增加发送广播JSON消息扩展方法 3. HxTask扩展库任务ID修改为字符串 4. HxTrace扩展库修改输出格式 5. 取消再linux下生成 debug和release模式的选择
59 lines
1.2 KiB
C++
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
|