summaryrefslogtreecommitdiff
path: root/sapchannelinfo.h
blob: 922136e8be039c9741becb2fa9e20f17fec7abcb (plain)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#ifndef SAPCHANNELINFO_H
#define SAPCHANNELINFO_H

#include <QtCore/QObject>
#include <QtCore/QSharedDataPointer>
#include <QtCore/QDebug>

class SAPChannelInfoData;

class SAPChannelInfo
{
	Q_GADGET

public:
	SAPChannelInfo();
	SAPChannelInfo(const SAPChannelInfo &);
	SAPChannelInfo &operator=(const SAPChannelInfo &);
	~SAPChannelInfo();

	enum PayloadType {
		PayloadNone = 0,
		PayloadBinary = 1,
		PayloadJson = 2,
		PayloadAll = 0xFF
	};

	enum QoSType {
		QoSUnrestrictedInOrder = 0,
		QoSUnrestricted = 1,
		QoSRestrictedInOrder = 2,
		QoSRestricted = 3,
		QoSReliabilityDisable = 4,
		QoSReliabilityEnable = 5
	};

	enum QoSPriority {
		QoSPriorityLow = 0,
		QoSPriorityMedium,
		QoSPriorityHigh
	};

	enum QoSDataRate {
		QoSDataRateLow = 0,
		QoSDataRateHigh
	};

	unsigned short channelId() const;
	void setChannelId(unsigned short id);

	PayloadType payloadType() const;
	void setPayloadType(PayloadType type);

	QoSType qosType() const;
	void setQoSType(QoSType type);

	QoSPriority qosPriority() const;
	void setQoSPriority(QoSPriority priority);

	QoSDataRate qosDataRate() const;
	void setQoSDataRate(QoSDataRate rate);

private:
	QSharedDataPointer<SAPChannelInfoData> data;
};

QDebug operator<<(QDebug debug, const SAPChannelInfo &info);

#endif // SAPCHANNELINFO_H