QKnxNetIpFrame Class
The QKnxNetIpFrame class represents the base for all KNXnet/IP related communication. More...
Header: | #include <QKnxNetIpFrame> |
qmake: | QT += knx |
Public Functions
QKnxNetIpFrame(QKnxNetIpFrame &&other) | |
QKnxNetIpFrame(const QKnxNetIpFrame &other) | |
QKnxNetIpFrame(const QKnxNetIpFrameHeader &header, const QKnxNetIpConnectionHeader &connectionHeader, const QKnxByteArray &data = {}) | |
QKnxNetIpFrame(QKnxNetIp::ServiceType type, const QKnxNetIpConnectionHeader &connectionHeader, const QKnxByteArray &data = {}) | |
QKnxNetIpFrame(QKnxNetIp::ServiceType type, const QKnxByteArray &data = {}) | |
QKnxNetIpFrame() | |
QKnxNetIpFrame & | operator=(QKnxNetIpFrame &&other) |
QKnxNetIpFrame & | operator=(const QKnxNetIpFrame &other) |
~QKnxNetIpFrame() | |
QKnxByteArray | bytes() const |
quint8 | channelId() const |
QKnxNetIpConnectionHeader | connectionHeader() const |
QKnxByteArray | connectionTypeSpecificHeaderItems() const |
const QKnxByteArray & | constData() const |
QKnxByteArray | data() const |
quint16 | dataSize() const |
QKnxNetIpFrameHeader | header() const |
bool | isNull() const |
bool | isValid() const |
quint8 | protocolVersion() const |
quint8 | sequenceNumber() const |
QKnxNetIp::ServiceType | serviceType() const |
quint8 | serviceTypeSpecificValue() const |
void | setConnectionHeader(const QKnxNetIpConnectionHeader &header) |
void | setData(const QKnxByteArray &data) |
void | setHeader(const QKnxNetIpFrameHeader &header) |
void | setServiceType(QKnxNetIp::ServiceType type) |
quint16 | size() const |
void | swap(QKnxNetIpFrame &other) |
bool | operator!=(const QKnxNetIpFrame &other) const |
bool | operator==(const QKnxNetIpFrame &other) const |
Static Public Members
QKnxNetIpFrame | fromBytes(const QKnxByteArray &bytes, quint16 index = 0) |
Related Non-Members
QDebug | operator<<(QDebug debug, const QKnxNetIpFrame &frame) |
Detailed Description
The communication between KNXnet/IP devices is based on KNXnet/IP frames. A KNXnet/IP frame is a data packet sent over the non-KNX network protocol that consists of a header, comparable to the IP header of an Internet protocol data packet, and optional data of variable length. The type of the KNXnet/IP frame is described by a KNXnet/IP service type identifier in the header.
See also Qt KNXnet/IP Connection Classes.
Member Function Documentation
QKnxNetIpFrame::QKnxNetIpFrame(QKnxNetIpFrame &&other)
Move-constructs an object instance, making it point to the same object that other was pointing to.
QKnxNetIpFrame::QKnxNetIpFrame(const QKnxNetIpFrame &other)
Constructs a copy of other.
QKnxNetIpFrame::QKnxNetIpFrame(const QKnxNetIpFrameHeader &header, const QKnxNetIpConnectionHeader &connectionHeader, const QKnxByteArray &data = {})
Creates a new KNXnet/IP frame with the given frame header header, connection header set to connectionHeader, and data set to data.
QKnxNetIpFrame::QKnxNetIpFrame(QKnxNetIp::ServiceType type, const QKnxNetIpConnectionHeader &connectionHeader, const QKnxByteArray &data = {})
Creates a new KNXnet/IP frame with the given service type type, connection header set to connectionHeader, and data set to data.
QKnxNetIpFrame::QKnxNetIpFrame(QKnxNetIp::ServiceType type, const QKnxByteArray &data = {})
Creates a new KNXnet/IP frame with the given service type type and data set to data.
QKnxNetIpFrame::QKnxNetIpFrame()
Constructs an empty invalid KNXnet/IP frame object.
QKnxNetIpFrame &QKnxNetIpFrame::operator=(QKnxNetIpFrame &&other)
Move-assigns other to this object instance.
QKnxNetIpFrame &QKnxNetIpFrame::operator=(const QKnxNetIpFrame &other)
Assigns the specified other to this object.
QKnxNetIpFrame::~QKnxNetIpFrame()
Destroys the KNXnet/IP frame object and releases all allocated resources.
QKnxByteArray QKnxNetIpFrame::bytes() const
Returns an array of bytes that represent the KNXnet/IP frame.
quint8 QKnxNetIpFrame::channelId() const
Returns the KNXnet/IP frame's channel ID if a connection header is set.
Note: By default the function returns null.
QKnxNetIpConnectionHeader QKnxNetIpFrame::connectionHeader() const
Returns the KNXnet/IP frame's connection header.
See also setConnectionHeader().
QKnxByteArray QKnxNetIpFrame::connectionTypeSpecificHeaderItems() const
Returns a byte array with connection type specific header items of the KNXnet/IP frame if a connection header is set.
Note: The returned array can be empty.
const QKnxByteArray &QKnxNetIpFrame::constData() const
Returns the data part of the KNXnet/IP frame as constant reference.
Note: If a connection header is set, it is not considered part of the returned data.
QKnxByteArray QKnxNetIpFrame::data() const
Returns the data part of the KNXnet/IP frame.
Note: If a connection header is set, it is not considered part of the returned data.
See also setData().
quint16 QKnxNetIpFrame::dataSize() const
Returns the size of the KNXnet/IP frame data. The data size excludes the size of the KNXnet/IP frame header and the optional connection header.
[static]
QKnxNetIpFrame QKnxNetIpFrame::fromBytes(const QKnxByteArray &bytes, quint16 index = 0)
Constructs the KNXnet/IP frame from the byte array bytes starting at position index inside the array.
QKnxNetIpFrameHeader QKnxNetIpFrame::header() const
Returns the KNXnet/IP frame header.
See also setHeader().
bool QKnxNetIpFrame::isNull() const
Returns true
if this is a default constructed frame, otherwise returns false
. A frame is considered null if it contains no initialized values.
bool QKnxNetIpFrame::isValid() const
Returns true
if the frame contains initialized values and is in itself valid, otherwise returns false
. A valid KNXnet/IP frame consists of at least a valid header and a size in bytes corresponding to the KNXnet/IP frame header QKnxNetIpFrameHeader::totalSize.
quint8 QKnxNetIpFrame::protocolVersion() const
Returns the KNXnet/IP frame protocol version.
quint8 QKnxNetIpFrame::sequenceNumber() const
Returns the KNXnet/IP frame's sequence number if a connection header is set.
Note: By default the function returns null.
QKnxNetIp::ServiceType QKnxNetIpFrame::serviceType() const
Returns the KNXnet/IP frame's service type or QKnxNetIp::Unknown for a default generated frame.
See also setServiceType().
quint8 QKnxNetIpFrame::serviceTypeSpecificValue() const
Returns the service type specific value of the KNXnet/IP frame if a connection header is set.
Note: By default the function returns null.
void QKnxNetIpFrame::setConnectionHeader(const QKnxNetIpConnectionHeader &header)
Sets the KNXnet/IP frame's connection header to header and updates the total size accordingly.
See also connectionHeader().
void QKnxNetIpFrame::setData(const QKnxByteArray &data)
Sets the data part of the KNXnet/IP frame to data and updates the total size accordingly.
Note: The data part passed may not contain the connection header.
See also data().
void QKnxNetIpFrame::setHeader(const QKnxNetIpFrameHeader &header)
Sets the KNXnet/IP frame header to header.
See also header().
void QKnxNetIpFrame::setServiceType(QKnxNetIp::ServiceType type)
Sets the KNXnet/IP frame's service type to type.
See also serviceType().
quint16 QKnxNetIpFrame::size() const
Returns the size in bytes of the KNXnet/IP frame. The size includes the size of the KNXnet/IP frame header, the optional connection header, and the frame's data part.
void QKnxNetIpFrame::swap(QKnxNetIpFrame &other)
Swaps other with this object. This operation is very fast and never fails.
bool QKnxNetIpFrame::operator!=(const QKnxNetIpFrame &other) const
Returns true
if this object and the given other are not equal; otherwise returns false
.
bool QKnxNetIpFrame::operator==(const QKnxNetIpFrame &other) const
Returns true
if this object and the given other are equal; otherwise returns false
.
Related Non-Members
QDebug operator<<(QDebug debug, const QKnxNetIpFrame &frame)
Writes the KNXnet/IP frame to the debug stream.