-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathconnectioncallbacks.hpp
More file actions
39 lines (30 loc) · 1.34 KB
/
connectioncallbacks.hpp
File metadata and controls
39 lines (30 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#pragma once
#include <LifecycleCallback/lifecyclecallback.hpp>
#include <QAbstractSocket>
#include <QByteArray>
class TcpConnection;
// 连接回调接口定义
struct ConnectionCallbacks
{
// 数据读取回调 (连接指针, 接收到的数据)
LifecycleCallback<class TcpConnection *, const QByteArray &> onDataReceived;
// 错误回调 (连接指针, 错误信息)
LifecycleCallback<class TcpConnection *, QAbstractSocket::SocketError> onErrorOccurred;
// 连接建立回调 (连接指针)
LifecycleCallback<class TcpConnection *> onConnected;
// 连接断开回调 (连接指针)
LifecycleCallback<class TcpConnection *> onDisconnected;
// 默认构造函数 - 提供空回调
ConnectionCallbacks() = default;
// 便捷构造函数
ConnectionCallbacks(
LifecycleCallback<class TcpConnection *, const QByteArray &> dataCallback,
LifecycleCallback<class TcpConnection *, QAbstractSocket::SocketError> errorCallback = {},
LifecycleCallback<class TcpConnection *> connectedCallback = {},
LifecycleCallback<class TcpConnection *> disconnectedCallback = {})
: onDataReceived(std::move(dataCallback))
, onErrorOccurred(std::move(errorCallback))
, onConnected(std::move(connectedCallback))
, onDisconnected(std::move(disconnectedCallback))
{}
};