75#include "deconz/timeref.h"
76#include "deconz/declspec.h"
101Q_DECLARE_OPERATORS_FOR_FLAGS(deCONZ::ApsTxOptions)
122 bool isNwkUnicast()
const;
124 bool isNwkBroadcast()
const;
130 bool hasGroup()
const;
132 uint16_t nwk()
const;
134 uint64_t ext()
const;
136 uint16_t group()
const;
140 void setNwk(uint16_t addr);
144 void setExt(uint64_t addr);
148 void setGroup(uint16_t addr);
152 API_DEPRECATED QString toStringExt()
const;
154 API_DEPRECATED QString toStringNwk()
const;
156 API_DEPRECATED QString toStringGroup()
const;
160 API_DEPRECATED
bool fromStringExt(
const QString &str);
164 API_DEPRECATED
bool fromStringNwk(
const QString &str);
168 bool operator==(
const Address &other)
const;
172 bool operator !=(
const Address &other)
const;
178 uint8_t m_addrModes{deCONZ::NoAddress};
182class ApsDataRequestPrivate;
249 const Address &dstAddress()
const;
255 uint8_t srcEndpoint()
const;
257 void setSrcEndpoint(uint8_t ep);
259 uint8_t dstEndpoint()
const;
261 void setDstEndpoint(uint8_t ep);
263 uint16_t profileId()
const;
265 void setProfileId(uint16_t profileId);
267 uint16_t clusterId()
const;
269 void setClusterId(uint16_t clusterId);
271 uint16_t responseClusterId()
const;
273 void setResponseClusterId(uint16_t clusterId);
275 const QByteArray &asdu()
const;
279 void setAsdu(
const QByteArray &asdu);
281 uint8_t radius()
const;
283 void setRadius(uint8_t radius);
287 ApsTxOptions txOptions()
const;
291 void setTxOptions(ApsTxOptions txOptions);
306 int writeToStream(QDataStream &stream)
const;
318 void readFromStream(QDataStream &stream);
325 uint8_t version()
const;
326 void setVersion(uint8_t version)
const;
327 uint16_t nodeId()
const;
328 void setNodeId(uint16_t
id)
const;
333 int sendDelay()
const;
334 void setSendDelay(
int delayMs);
335 bool confirmed()
const;
336 void setConfirmed(
bool confirmed);
337 void setSourceRoute(
const std::array<quint16, 9> &relays,
size_t size,
const uint srHash);
338 uint sourceRouteUuidHash()
const;
369 void setId(uint8_t
id);
373 const Address &dstAddress()
const;
379 uint8_t dstEndpoint()
const;
381 uint8_t srcEndpoint()
const;
385 uint8_t status()
const;
387 uint32_t txTime()
const;
389 void readFromStream(QDataStream &stream);
395 uint8_t m_dstEndpoint = 0xFF;
396 uint8_t m_srcEndpoint = 0xFF;
397 uint8_t m_status = 0xFF;
400class ApsDataIndicationPrivate;
425 const Address &dstAddress()
const;
427 uint8_t dstEndpoint()
const;
429 void setDstEndpoint(uint8_t ep);
437 const Address &srcAddress()
const;
439 uint8_t srcEndpoint()
const;
441 void setSrcEndpoint(uint8_t ep);
443 uint16_t profileId()
const;
445 void setProfileId(uint16_t profileId);
447 uint16_t clusterId()
const;
449 void setClusterId(uint16_t clusterId);
451 const QByteArray &asdu()
const;
455 void setAsdu(
const QByteArray &asdu);
457 uint8_t status()
const;
459 void setStatus(uint8_t status);
461 uint8_t securityStatus()
const;
463 void setSecurityStatus(uint8_t status);
465 uint8_t linkQuality()
const;
467 void setLinkQuality(uint8_t lqi);
469 uint32_t rxTime()
const;
471 void setRxTime(uint32_t time);
475 void setRssi(int8_t rssi);
477 quint16 previousHop()
const;
479 void readFromStream(QDataStream &stream);
481 void writeToStream(QDataStream &stream)
const;
484 void setVersion(
int version)
const;
509uint8_t DECONZ_DLLSPEC APS_NextApsRequestId();
Convenience class to work with network, extended and group addresses.
Definition aps.h:111
Address()=default
Constructor.
~Address()=default
Deconstructor.
APSDE-DATA.confirm primitive.
Definition aps.h:352
ApsDataConfirm()=default
Constructor.
ApsDataConfirm & operator=(const ApsDataConfirm &other)=default
Copy assignment constructor.
ApsDataConfirm(const ApsDataConfirm &other)=default
Copy constructor.
~ApsDataConfirm()=default
Deconstructor.
APSDE-DATA.indication primitive.
Definition aps.h:408
APSDE-DATA.request primitive.
Definition aps.h:227
The deCONZ namespace.
Definition aps.cpp:19
ApsAddressMode
Address modes used to specify source and destination addresses.
Definition aps.h:83
@ ApsGroupAddress
16-bit group address mode
Definition aps.h:85
@ ApsNwkExtAddress
16-bit network address mode and 64-bit extended IEEE address mode (since protocol version 0x010B)
Definition aps.h:88
@ ApsExtAddress
64-bit extended IEEE address mode
Definition aps.h:87
@ ApsNoAddress
No addressing specified.
Definition aps.h:84
@ ApsNwkAddress
16-bit network address mode
Definition aps.h:86
ApsTxOption
Flags used in the ApsDataRequest.
Definition aps.h:93
@ ApsTxSecurityEnabledTransmission
APS layer security enabled transmission.
Definition aps.h:94
@ ApsTxAcknowledgedTransmission
Enable APS acknowledged transmission.
Definition aps.h:96
@ ApsTxUseNwk
Use network key security.
Definition aps.h:95
@ ApsTxFragmentationPermitted
Allow fragmentation.
Definition aps.h:97
CommonState
Common states for various purposes.
Definition types.h:400
Declaration of the most common deCONZ library types.