summaryrefslogtreecommitdiffstats
path: root/src/knx/netip/qknxnetiproutingsystembroadcast.cpp
diff options
context:
space:
mode:
authorAndrew O'Doherty <andrew.odoherty@qt.io>2018-09-11 14:49:59 +0200
committerKarsten Heimrich <karsten.heimrich@qt.io>2018-09-13 08:19:56 +0000
commit071ac7c6b3b20f738c3c8d016f30cc50bd6cae71 (patch)
treecca168ac22546e4d13b086a00015c3a88e38cbaf /src/knx/netip/qknxnetiproutingsystembroadcast.cpp
parent9b3df740acb61e68ce1cb061153b2684858cd3c4 (diff)
Add d-pointers to new builder classes
Change-Id: I303795f8b1cf627986588541db129ce2bfb787ca Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
Diffstat (limited to 'src/knx/netip/qknxnetiproutingsystembroadcast.cpp')
-rw-r--r--src/knx/netip/qknxnetiproutingsystembroadcast.cpp44
1 files changed, 41 insertions, 3 deletions
diff --git a/src/knx/netip/qknxnetiproutingsystembroadcast.cpp b/src/knx/netip/qknxnetiproutingsystembroadcast.cpp
index 2bbf250..6b3f7fe 100644
--- a/src/knx/netip/qknxnetiproutingsystembroadcast.cpp
+++ b/src/knx/netip/qknxnetiproutingsystembroadcast.cpp
@@ -85,6 +85,15 @@ QT_BEGIN_NAMESPACE
\internal
*/
+class QKnxNetIpRoutingSystemBroadcastBuilderPrivate : public QSharedData
+{
+public:
+ QKnxNetIpRoutingSystemBroadcastBuilderPrivate() = default;
+ ~QKnxNetIpRoutingSystemBroadcastBuilderPrivate() = default;
+
+ QKnxLinkLayerFrame m_llf;
+};
+
namespace QKnxPrivate
{
static bool isCemiValid(const QKnxLinkLayerFrame &linkFrame)
@@ -161,6 +170,18 @@ QKnxNetIpRoutingSystemBroadcastProxy::Builder QKnxNetIpRoutingSystemBroadcastPro
*/
/*!
+ Creates a new empty system broadcast frame builder object.
+*/
+QKnxNetIpRoutingSystemBroadcastProxy::Builder::Builder()
+ : d_ptr(new QKnxNetIpRoutingSystemBroadcastBuilderPrivate)
+{}
+
+/*!
+ Destroys the object and frees any allocated resources.
+*/
+QKnxNetIpRoutingSystemBroadcastProxy::Builder::~Builder() = default;
+
+/*!
Sets the cEMI frame containing the routing system broadcast message to
\a cemi.
*/
@@ -168,7 +189,7 @@ QKnxNetIpRoutingSystemBroadcastProxy::Builder &
QKnxNetIpRoutingSystemBroadcastProxy::Builder::setCemi(const QKnxLinkLayerFrame &cemi)
{
if (QKnxPrivate::isCemiValid(cemi))
- m_llf = cemi;
+ d_ptr->m_llf = cemi;
return *this;
}
@@ -177,9 +198,26 @@ QKnxNetIpRoutingSystemBroadcastProxy::Builder &
*/
QKnxNetIpFrame QKnxNetIpRoutingSystemBroadcastProxy::Builder::create() const
{
- if (!m_llf.isValid())
+ if (!d_ptr->m_llf.isValid())
return {};
- return { QKnxNetIp::ServiceType::RoutingSystemBroadcast, m_llf.bytes() };
+ return { QKnxNetIp::ServiceType::RoutingSystemBroadcast, d_ptr->m_llf.bytes() };
+}
+
+/*!
+ Constructs a copy of \a other.
+*/
+QKnxNetIpRoutingSystemBroadcastProxy::Builder::Builder(const Builder &other)
+ : d_ptr(other.d_ptr)
+{}
+
+/*!
+ Assigns the specified \a other to this object.
+*/
+QKnxNetIpRoutingSystemBroadcastProxy::Builder &
+ QKnxNetIpRoutingSystemBroadcastProxy::Builder::operator=(const Builder &other)
+{
+ d_ptr = other.d_ptr;
+ return *this;
}
QT_END_NAMESPACE